您的位置:

有关c语言文件部分的一个问题,c语言文件题目

本文目录一览:

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()一次就消失一次。)