c语言fopen为什么打不开文件?
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;
FILE *fp;
char str[20];
if((fp=fopen("D:myfile","r+"))==NULL)
{
printf("文件打开失败!
");
exit(0);
}
fgets(str,10,fp);
for(i=0;i<9;i++)
{
str[i]=str[i]+32;
}
fputs(str,fp);
return 0;
}
若你是文件打开失败!,则说明你的d:盘根目录没有myfile这个文件(你要建一个的)
但你程序得不到你要的结果的
首先r+打开的文件,读完后要写的话,要加
fseek 指令的,否则无法写入
其次, 你用fputs(str,fp);你的str没有 的结尾,要下标溢出的。
改好的参考
我用的是fseek(fp,-1,0);,是将原文件的前10个字母由小写变大写,并放在原文件后面。
下一篇:程序改错?
上一篇:固态硬盘需要散热片吗
热门标签: