Devc++编译器中用c写文件存取为什么打开文件为乱码?

//首先我写了学生信息管理系统的添加数据函数,需要将数据保存在磁盘里,将数据写入文件那一块用的c语言,其他为c++,代码如下:

void Add()

{

char a='Y';
FILE *fp;
if((fp=fopen("informations.dat","w"))==NULL)
    {
        printf("无法打开此文件 !\n");
        exit(0);
    }
while(a=='Y')
{
    //if()
    Info in;
    cout<<"请输入学生信息:"<<endl;
    cin>>in.id>>in.name>>in.score>>in.order;
    if(fwrite(&in,sizeof(struct Info),1,fp)!=1)
    cout<<"file write error"<<endl;     
    cout<<"是否继续添加?(Y/N)";
    cin>>a;
    //printf("%s",in.id);
}
fclose(fp);
putchar(10);

}

//此时打开文件里是乱码,如下图

图片说明

//另外写了一个只用来存文件的代码用来测试,打开就不是乱码,是正常数据。代码如下

#include<iostream>
using namespace std;
struct student
{
    string name;
    int grade;
};
int main()
{
    FILE *fp;
    student stu;
    if((fp=fopen("information","w"))==NULL)
        {
            printf("无法打开此文件 !\n");
            exit(0);
        }
    printf("请输入学号:");
    scanf("%s",&stu.name);
    printf("请输入成绩:");
    scanf("%s",&stu.grade);
    if(fwrite(&stu,sizeof(struct student),1,fp)!=1)
        cout<<"file write error"<<endl; 
        fclose(fp);
        putchar(10);
    return 0;
}

//若是将add函数中的信息输入语句cin 用scanf替换则文件中存不进数据,代码如下

void Add()
{
    char a='Y';
    FILE *fp;
    //ofstream file("info.xlsx",ios_base::in);
    initial();
    if((fp=fopen("informations.dat","w"))==NULL)
        {
            printf("无法打开此文件 !\n");
            exit(0);
        }
    while(a=='Y')
    {
        //if()
        Info in;
        cout<<"请输入学生信息:"<<endl;
        //cin>>in.id>>in.name>>in.score>>in.order;
        scanf("%s",&in.id);
        printf("请输入姓名:");
        scanf("%s",&in.name);
        printf("请输入成绩:");
        scanf("%d",&in.score);
        printf("请输入排名:");
        scanf("%d",&in.order);
        if(fwrite(&in,sizeof(struct Info),1,fp)!=1)
        cout<<"file write error"<<endl;     
        cout<<"是否继续添加?(Y/N)";
        cin>>a;
        //printf("%s",in.id);
    }
    fclose(fp);
    putchar(10);
}


求解,很想知道为什么

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Devc++编译器中用c写文件存取为什么打开文件为乱码?
//首先我写了学生信息管理系统的添加数据函数,需要将数据保存在磁盘里,将数据写入文件那一块用的c语言,其他为c++,代码如下: void Add() { char a='Y'; FILE *fp; if((fp=fopen("informations.dat","w"))==NULL) { printf("无法打开此文件 !\n"); exit(0); } while(a=='Y') { //if() Info in; cout<<"请输入学生信息:"<<endl; cin>>in.id>>in.name>>in.score>>in.order; if(fwrite(&in,sizeof(struct Info),1,fp)!=1) cout<<"file write error"<<endl; cout<<"是否继续添加?(Y/N)"; cin>>a; //printf("%s",in.id); } fclose(fp); putchar(10); } //此时打开文件里是乱码,如下图 ![图片说明](https://img-ask.csdn.net/upload/201812/14/1544725957_932678.png) //另外写了一个只用来存文件的代码用来测试,打开就不是乱码,是正常数据。代码如下 ``` #include<iostream> using namespace std; struct student { string name; int grade; }; int main() { FILE *fp; student stu; if((fp=fopen("information","w"))==NULL) { printf("无法打开此文件 !\n"); exit(0); } printf("请输入学号:"); scanf("%s",&stu.name); printf("请输入成绩:"); scanf("%s",&stu.grade); if(fwrite(&stu,sizeof(struct student),1,fp)!=1) cout<<"file write error"<<endl; fclose(fp); putchar(10); return 0; } ``` //若是将add函数中的信息输入语句cin 用scanf替换则文件中存不进数据,代码如下 ``` void Add() { char a='Y'; FILE *fp; //ofstream file("info.xlsx",ios_base::in); initial(); if((fp=fopen("informations.dat","w"))==NULL) { printf("无法打开此文件 !\n"); exit(0); } while(a=='Y') { //if() Info in; cout<<"请输入学生信息:"<<endl; //cin>>in.id>>in.name>>in.score>>in.order; scanf("%s",&in.id); printf("请输入姓名:"); scanf("%s",&in.name); printf("请输入成绩:"); scanf("%d",&in.score); printf("请输入排名:"); scanf("%d",&in.order); if(fwrite(&in,sizeof(struct Info),1,fp)!=1) cout<<"file write error"<<endl; cout<<"是否继续添加?(Y/N)"; cin>>a; //printf("%s",in.id); } fclose(fp); putchar(10); } ``` 求解,很想知道为什么
为什么devc++会乱码呀
为什么devc++会在编译的时候出现一个名叫makefile.win的乱码文件
为什么在codeblocks里运行正常的程序,在devc++中却出现[Error] ld returned 1 exit status?
我照着教材在dev c++中打了一个自定义数组的库,第一次对头文件点编译图标毫无反应,对cpp文件点运行说源文件未编译。我只好把dev c++卸载了重装。 第二次再对头文件点编译无误。但对实现头文件的cpp点编译报[Error] ld returned 1 exit status。对应用的cpp点编译也是同一个错,点运行还是说源文件未编译。 我把相同的代码复制到codeblocks里,完全正常。 代码应该没问题。因为从没运行成功过,所以也不存在后台运行未关闭。我的电脑也没有装杀毒软件。马上机考只能用dev c++,但我实在不知道问题出在哪。求各位大神帮帮小弟! ![图片说明](https://img-ask.csdn.net/upload/202001/03/1578045503_233989.png) 代码如下 array.h ``` #ifndef _array_h #define _array_h struct doublearray { int low,high; double *storage; }; bool initialize(doublearray &arr,int low,int high); bool insert(const doublearray &arr,int index,double value); bool fetch(doublearray &arr,int index,double &value); void cleanup(const doublearray &arr); #endif ``` array.cpp ``` #include <iostream> using namespace std; #include "array.h" bool initialize(doublearray &arr,int low,int high) { arr.low=low; arr.high=high; arr.storage=new double[high-low+1]; if(arr.storage!=NULL) return true; else return false; } bool insert(const doublearray &arr,int index,double value) { if(index<arr.low||index>arr.high) return false; arr.storage[index-arr.low]=value; return true; } bool fetch(doublearray &arr,int index,double &value) { if(index<arr.low||index>arr.high) return false; value=arr.storage[index-arr.low]; return true; } void cleanup(const doublearray &arr) { if(arr.storage) delete []arr.storage; } ``` arrayapply.cpp ``` #include "array.h" #include <iostream> using namespace std; int main() { doublearray array; double value; int low,high; cout<<"low high"<<endl; cin>>low>>high; if(!initialize(array,low,high)) { cout<<"get space failed"<<endl; return 1; } for(int i=low;i<=high;i++) { cout<<"array["<<i<<"]= "<<endl; cin>>value; insert(array,i,value); } int j; cout<<"第几个元素?"<<endl; cin>>j; if(fetch(array,j,value)) cout<<"array["<<j<<"]= "<<value<<endl; else cout<<"下标越界"<<endl; cleanup(array); return 0; } ```
DEVC++如何在64位操作系统中编译32位应用程序?
DEVC++如何在64位操作系统中编译32位应用程序?我朋友是32位系统,可是不能用我64位系统编译的软件,请问怎么编译32位程序?
我想向大家请教一个关于devc 程序的问题,我今天有使用过devc 编程,可后来再打开就进不去了,出现闪退情况,有尝试重新安装,没有变化,请问有人知道是什么原因吗?
我想向大家请教一个关于devc 程序的问题,我今天有使用过devc 编程,可后来再打开就进不去了,出现闪退情况,有尝试重新安装,没有变化,请问有人知道是什么原因吗?
用编译器打开源程序时,出现错误提示信息
所用编译器:Devc++编译器 问题描述:当用devc++编译器打开源文件时,都会错误提示窗口提示 “向程序发送命令时出现错误”,是什么问题导致的呢?如何解决? 之前都没有这种情况,不知道怎么了。![图片说明](https://img-ask.csdn.net/upload/201707/24/1500910541_943557.png)
devc++连接数据库出现错误
![图片说明](https://img-ask.csdn.net/upload/201912/27/1577428010_252337.jpg) 求大神帮助!!!!!
devc++编译运行的程序出现Error216该如何解决?
在使用devc++之后,忽然有一天不知道发生了什么,编译出来的东西无法运行了 如图: ![图片说明](https://img-ask.csdn.net/upload/201908/13/1565660889_452505.png) 遇到这种情况该如何解决? 感觉是某个设置的问题,dev重装/mingw都试过没有用 求大神帮忙
DEVC++编译软件换行失败
# include <conio.h>![图片说明](https://img-ask.csdn.net/upload/201909/09/1568004777_898227.png) # include <stdio.h> int main() { char ch; printf("打个字符试试:"); ch = getch(); printf("你刚输入的是:%c,\r\n",ch); printf("按任意键结束,\r\n"); getch(); return 0; }
不管是devc++,codeblocks都显示和64位windows不兼容,之前还是好的,突然就这样了。
卸载了重下还是这个问题。 搞不懂,只剩下一个vc 6.0不受影响.... 另外:能问一下vs code要写c和c++的话应该怎么搞啊,教程弄了还是错的。 这几天我为了不用vc那个界面真的努力了很多啊.......
devC++无法编译运行,无法打开exe
![图片说明](https://img-ask.csdn.net/upload/201711/11/1510408799_328167.png) ![图片说明](https://img-ask.csdn.net/upload/201711/11/1510408741_137922.png) 暑假没出现过这个问题。一段时间没用过后,编译运行一次后再次运行就会出现这个Error,保存的exe还没有权限打开……不管是什么程序都是这样. ![图片说明](https://img-ask.csdn.net/upload/201711/11/1510409611_557745.png) 找到了这个,也是没有权限打开……
编译出来的程序怎么会不兼容系统?
下面是代码运行结果 ![图片说明](https://img-ask.csdn.net/upload/201907/07/1562463455_250682.png) 再下面是我直接双击生成的exe文件的运行结果 ![图片说明](https://img-ask.csdn.net/upload/201907/07/1562463513_767870.png) 请问这种问题怎么解决?编译器是Devc++,系统是win732位, 是win7的兼容助手的码?manifset文件又怎么搞?求指教
C语言,为什么第一次编译运行可以输入三行数值,后面就不行了,只能输入两次,求大佬解答
用的是devc++,明明有3个scanf,但是只能输入两个 ,这是为什么? ![图片说明](https://img-ask.csdn.net/upload/201908/09/1565345482_957943.jpg)![图片说明](https://img-ask.csdn.net/upload/201908/09/1565345498_295199.jpg)
为什么编译突然无效?
今天遇到一个诡异的问题,稍微分享一下,目前没找到原因。 之前Playsound函数好不容易搞懂,于是在程序里加了一个声音。 之后,我把这行代码删掉,编译运行后还是一个样。这时我还没怎么在意,用查找功能,发现我的这个程序里根本没有Playsound。于是我知道了事情的严重性。我把main函数里面的东西全删光,编译运行后还是这样! 我怕编译器不能自己覆盖文件了,于是把exe也删掉。编译运行后,还是这样!我把这些代码放在其他文件上没事,放这里就有事了! 我的DEVc++怕不是有毒! 之前(此时Playsound已经被删): ``` #include"psw.cpp" #include<cstdio> #include <string> #include <stdlib.h> #include <windows.h> #include <mmsystem.h> #pragma comment(lib,"winmm.dll.lib") #include<direct.h> #include<algorithm> #include<conio.h> //#include<bits/stdc++.h> //using namespace std; class wordcard{ public: string first_heading; string second_heading; string word; string meaning; string sound; int pre; int next; void give(string a,string b,string c,string d,int n,string e=""){ first_heading=a; second_heading=b; word=c; meaning=d; sound=e; pre=n-1; next=n+1; } void Clear() { first_heading=""; second_heading=""; word=""; meaning=""; } }word[100000],tword[100000]; string get_path() { char buffer[10000]; getcwd(buffer,10000); string ans=buffer; return ans; } bool Change=true,Round=true; string listname[10000],tstr,first[2],second[2]; int p,tn,pp,head,nlist; bool lock=1; int main(){ srand(time(NULL)); while(Round) { if(Change) { while(1) { cout<<"listname of the next list:"; cin>>tstr; if(tstr=="LOCK.") lock=1; else if(tstr=="UNLOCK.") lock=0; else break; } nlist=pswstr::sprt(tstr,listname,'+'); p=0; for(int i=0;i<nlist;i++) { listname[i]+=".txt"; ifstream file1; file1.open(listname[i].data()); cout<<listname[i]<<" has been opened."<<endl; while(1) { file1>>tstr; if(tstr=="EOF") break; else if(tstr[0]=='$') pswstr::sprt(tstr,first,'$'); else if(tstr[0]=='#') pswstr::sprt(tstr,second,'#'); else { tword[p].give(first[0],second[0],tstr,"",p); file1>>tstr; tword[p++].meaning=tstr; } } file1.close(); cout<<listname[i]<<" 's words have been loaded."<<endl; //system("cls"); } } for(int i=0;i<100000;i++) word[i]=tword[i]; head=0; for(int i=0;i<p;i++) { pp=head; tn=rand()%(p-i); for(int j=0;j<tn;j++) pp=word[pp].next; cout<<word[pp].first_heading<<endl<<word[pp].second_heading<<endl<<word[pp].word<<endl; getch(); cout<<word[pp].meaning<<endl<<endl<<endl; // -lwinmm if(!lock) { cout<<" if you want to delete, type d/D"; int tch = getch(); if(tch!='d' && tch!='D') { tword[word[pp].pre].next=tword[pp].next; tword[word[pp].next].pre=tword[pp].pre; } } else getch(); system("cls"); if(word[pp].pre==-1) { head=word[pp].next; word[head].pre=-1; } else { word[word[pp].pre].next=word[pp].next; word[word[pp].next].pre=word[pp].pre; } } cout<<"End of the list!"<<endl<<"Do you want to try again?(any input except C or E)or change the list?(C) or just exit?(E)"<<endl<<"write your choice(.../C/E):"; cin>>tstr; if(tstr=="E") Round=false; else if(tstr=="C") Change=true; else { Change=false; } system("cls"); } } ``` 之后: ``` #include"psw.cpp" #include<cstdio> #include <stdlib.h> #include <windows.h> #include <mmsystem.h> #pragma comment(lib,"winmm.dll.lib") #include<direct.h> #include<algorithm> #include<conio.h> //#include<bits/stdc++.h> //using namespace std; class wordcard{ public: string first_heading; string second_heading; string word; string meaning; string sound; int pre; int next; void give(string a,string b,string c,string d,int n,string e=""){ first_heading=a; second_heading=b; word=c; meaning=d; pre=n-1; next=n+1; } void Clear() { first_heading=""; second_heading=""; word=""; meaning=""; } }word[100000],tword[100000]; string get_path() { char buffer[10000]; getcwd(buffer,10000); string ans=buffer; return ans; } bool Change=true,Round=true; string listname[10000],tstr,first[2],second[2]; int p,tn,pp,head,nlist; bool lock=1; int main(){ } ``` —————————————— 现在我把原音频删掉,结果还在响! 但是我不用编辑器而是直接点开exe文件时就发现exe正常了。 —————————————— 我把代码删得只剩int main(),它还在响...
初学C语言...关于Devc++软件写C语言作业
想做个图象界面,调试的时候找不到头文件graphics.h 快答辩了,有点着急,谢谢各位大神指导
刚在官网下载了一个devc ,每次用完关掉它之后,再想打开它,我都得重新安装一次 ,为什么呢???
关于devc++ 刚在官网下载了一个devc ,每次用完关掉它之后,再想打开它,我都得重新安装一次 ,为什么呢???![图片说明](https://img-ask.csdn.net/upload/201902/07/1549530489_267316.png)
devC++ 运行窗口闪退
试过getchar()和while(1),这两个方法可以解决闪退问题,但是使用#include<stdlib.h> system("pause")却没有用,这是为啥?我觉得后一种方法应该更好一点吧,有没有大佬给解答一下。
devc++不能设置为简体中文 输入中文都挤在一起
devc++输入中文后挤在一起 ![图片说明](https://img-ask.csdn.net/upload/201902/12/1549963547_521337.png) 而且一开始想设置为简体中文时也无论如何都设置不了 怀疑是电脑里语言包有问题 但是office软件还都是中文的 安装有些软件后也显示乱码 比如炉石传说盒子 请问怎么解决?
devc++下面的编译信息不见了?
刚不知道怎么搞得,反正下面的编译信息搞不出来了,错误也不知道是怎么错的。 ![图片说明](https://img-ask.csdn.net/upload/201701/04/1483512978_973725.png)
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时想着能进去就不错了,管他哪个岗呢,就同意了面试...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
兼职程序员一般可以从什么平台接私活?
这个问题我进行了系统性的总结,以下将进行言简意赅的说明和渠道提供,希望对各位小猿/小媛们有帮助~ 根据我们的经验,程序员兼职主要分为三种:兼职职位众包、项目整包和自由职业者驻场。 所谓的兼职职位众包,指的是需求方这边有自有工程师配合,只需要某个职位的工程师开发某个模块的项目。比如开发一个 app,后端接口有人开发,但是缺少 iOS 前端开发工程师,那么他们就会发布一个职位招聘前端,来配合公司一...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
写了很久,这是一份最适合/贴切普通大众/科班/非科班的『学习路线』
说实话,对于学习路线这种文章我一般是不写的,大家看我的文章也知道,我是很少写建议别人怎么样怎么样的文章,更多的是,写自己的真实经历,然后供大家去参考,这样子,我内心也比较踏实,也不怕误导他人。 但是,最近好多人问我学习路线,而且很多大一大二的,说自己很迷茫,看到我那篇 普普通通,我的三年大学 之后很受激励,觉得自己也能行,(是的,别太浪,你一定能行)希望我能给他个学习路线,说
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
一 说明 如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统; 二 准备前提 需要建立一张学生表,列分别是id,名称,年龄,学生信息;本示例中文章篇幅原因SQL注释略; 建表语句: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // dosho
致 Python 初学者
文章目录1. 前言2. 明确学习目标,不急于求成,不好高骛远3. 在开始学习 Python 之前,你需要做一些准备2.1 Python 的各种发行版2.2 安装 Python2.3 选择一款趁手的开发工具3. 习惯使用IDLE,这是学习python最好的方式4. 严格遵从编码规范5. 代码的运行、调试5. 模块管理5.1 同时安装了py2/py35.2 使用Anaconda,或者通过IDE来安装模
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
碎片化的时代,如何学习
今天周末,和大家聊聊学习这件事情。 在如今这个社会,我们的时间被各类 APP 撕的粉碎。 刷知乎、刷微博、刷朋友圈; 看论坛、看博客、看公号; 等等形形色色的信息和知识获取方式一个都不错过。 貌似学了很多,但是却感觉没什么用。 要解决上面这些问题,首先要分清楚一点,什么是信息,什么是知识。 那什么是信息呢? 你一切听到的、看到的,都是信息,比如微博上的明星出轨、微信中的表情大战、抖音上的...
so easy! 10行代码写个"狗屁不通"文章生成器
前几天,GitHub 有个开源项目特别火,只要输入标题就可以生成一篇长长的文章。 背后实现代码一定很复杂吧,里面一定有很多高深莫测的机器学习等复杂算法 不过,当我看了源代码之后 这程序不到50行 尽管我有多年的Python经验,但我竟然一时也没有看懂 当然啦,原作者也说了,这个代码也是在无聊中诞生的,平时撸码是不写中文变量名的, 中文...
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的回答,对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalking,作者吴晟、刘浩杨 等等 仓库地址: apache/skywalking 更...
基础拾遗:除了&和&&的区别,你还要知道位运算的这5个运算符
&和&&都可作逻辑与的运算符,表示逻辑与(and),&是位运算符,你还需要知道这5个位运算符,基础很重要,云运算其实很骚!
相关热词 c#选择结构应用基本算法 c# 收到udp包后回包 c#oracle 头文件 c# 序列化对象 自定义 c# tcp 心跳 c# ice连接服务端 c# md5 解密 c# 文字导航控件 c#注册dll文件 c#安装.net
立即提问