本文目录一览:
c语言关于文件的问题(求大佬解惑,万分感激~)?
fwrite用法不对,应该用fprintf。fwrite的文件一般是二进制文件,记事本打开的是文本文件。
关于C语言文件部分的问题
原因:你写了两次fopen. 第一次打开这个文件,第二次又打开这个文件,因为已经打开了,因此不能再次打开。
而且你还把第一次的指针扔了。
#include "stdio.h"
void main()
{
char a[]="happy new year!";
int i;
FILE *fp;
fp=fopen("2009.txt","r");
if((fp==NULL)
{
printf("can't open this file\n");
exit(0);
}
while(!feof(fp))
fputc(a,fp);
fclose(fp);
}
C语言文件问题
第一个问题:运行后程序就结束了,自动退出了,所以看不到结果,可以在主函数最后加 getchar();或system(“pause”);
第二个问题:我没遇到过这种情况,估计是编译器有问题,换一个版本吧
C语言——文件方面小问题
#include stdio.h
#include stdlib.h
#include string.h
int main()
{
FILE *fp;
char filename[10];
char str[3][10];
int n,i;
printf("请输入要输出的文件名:");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("无法打开文件!\n");
exit(0);
}
printf("请输入要输入的字符串个数n:");
scanf("%d",n);
/*在C语言中%d只能接受整数的数值,
而后所敲击的\n还会存留在内存之中,也就是会自动赋予你要输入的第一个字符串里。
所以有可能是这个原因导致了你的程序不能正常运行。
加上一句下面的语句试试看。*/
fflush(stdin);//这个函数的作用是清除缓存区。
printf("请输入%d字符串:\n",n);
for(i=0;in;i++)
{
gets(str[i]);
fputs(str[i],fp);
fputs("\n",fp);
}
fclose(fp);
return 0;
}
C语言,关于文件的问题??
"指定的文件已存在,则原有的内容将全部消失", 说的是当执行 fopen()语句时,原来的abc.dat 文件中的内容全部消失,现在准备写新内容。
第一句 fwrite() 从文件开始处写入7个新的字符,内容是Beijing.
接下来是 文件回绕命令,文件指针回到文件头,文件内容保留Beijing这7个字符。
第二句 fwrite() 从文件开始处写入5个新的字符,China, 它覆盖了Beiji,
文件内容更新为 Chinang.
(只有在 执行 fopen()语句时,abc.dat 文件中的内容全部消失。不是说每 fwrite()一次就消失一次。)