本文目錄一覽:
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()一次就消失一次。)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/312782.html