fopen("student.txt","wb")b就是二进制的意思。你用二进制形式将student.txt打开 而fwrite也是将内存中的数据不经转换直接写入文件,所以文件中保存的是二进制形式,当然看到乱码了。你试试:if((fp1=fopen("student.txt","w"))==NULL){printf("cannot open this file\n");exit(0);} printf...
char path[256] = "/tmp/xxx.txt"; // 文件路径为/tmp/xxx.txtFile *fp = fopen(path, "w"); //以写方式打开,已存在的文件将内容清空,只允许写fwrite("dadasdasdas", strlen("dadasdasdas"), 1, fp); //把新的内容写入fclose(fp); //关闭文件句柄请采纳,谢谢 00分享举报您可能感兴趣的内容...
errno_t ecode;if ((ecode = fopen_s(&fp,"E:\\exp01.txt", "w")) == 0)fopen_s函数原型:errno_t fopen_s( FILE** pFile, const char *filename, const char *mode );函数参数 pFile:文件指针将接收到打开的文件指针指向的指针。infilename:文件名。inmode:允许的访问类型。--- ...
可能是windows的问题,我在Ubuntu下用楼主的代码是可以正常写入中文的,Win下把"w"改成"wb"试试呢 ...