
错误一:没有“wr”这种模式,如果既要读,又要写,那么可以用”w+“。
错误二:虽然w+的文件既允许读,又允许写,但读和写之间至少有一个移动文件指针的函数:fseek,哪怕移动0格,也必须要用fseek函数。(参考文献:C primer 第五版)
警告三:要确定 *** 作系统为你的程序开放了C盘根目录直接建立、修改文件的访问权限。
参考程序:
void main(){
FILE fp;
char ch;
if((fp=fopen("c:\\dahedat","w+"))==NULL)
{
printf("\nCannot open file strike any key exit!");
getch();
// exit(1);
}
fputc('a',fp);
fseek(fp,-1,SEEK_CUR);
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}
fseek第二个参数是偏移量,-1表示往前挪一格。
fseek第三个参数是偏移位置,SEEK_CUR是从当前处开始,SEEK_SET是从文件开头开始,SEEK_END是从文件末尾开始。
以上就是关于C语言文件读取乱码问题。全部的内容,包括:C语言文件读取乱码问题。、java fileLists读取linux服务器文件名中文乱码、java io流读取文件字符串乱码,帮忙解决下!还有为什么file.exists判断为false等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)