#include <stdio.h>
#include<stdlib.h>
main()
{
FILE* fp;
char ch, filename[50];
printf("請輸入檔案名:\n");
scanf("%s", filename);
if (fp = fopen(filename, "w") == NULL)
{
printf("error");
exit(0);
}
ch = getchar();
ch = getchar();
while (ch != '#')
{
fputc(ch, fp);
ch = getchar();//不了解這個的作用
}
}
總體就是向一個txt檔案中輸入字串
按書上敲得,但是達不到想要的結果,使用的vs2019,到最后txt檔案中還是空的,
uj5u.com熱心網友回復:
ch=getchar()就是繼續從輸入快取里取字符啊要不然,你的while(ch!=‘#’)ch的值就不會變,不就死回圈了嗎?
fputc只是把ch輸出到檔案,不會改變ch的值,所以需要ch=getchar()來獲得下一個字符
uj5u.com熱心網友回復:
聽不太懂


uj5u.com熱心網友回復:
懂了懂了( ̄? ̄)!謝謝!

uj5u.com熱心網友回復:
#include <stdio.h>
#include<stdlib.h>
int main()
{
FILE* fp;
char ch, filename[50];
printf("請輸入檔案名:\n");
scanf("%s", filename);
//if (fp = fopen(filename, "w") == NULL)
if ((fp = fopen(filename, "w")) == NULL)
{
printf("error");
exit(0);
}
ch = getchar();
ch = getchar();
while (ch != '#')
{
fputc(ch, fp);
ch = getchar();//不了解這個的作用
}
}
供參考~
注意==的優先級大于=(賦值),因此后面的先結合。
uj5u.com熱心網友回復:
謝謝你告訴我這些東西!十分感謝uj5u.com熱心網友回復:
你是不是什么都沒有輸入uj5u.com熱心網友回復:
你是不是什么都沒有輸入
輸入了!但是什么都沒有?!已經解決問題了
但還是很感謝你能夠回答我的問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/34161.html
標籤:C語言
上一篇:求大神指引 按1的時候開始報錯
下一篇:求個大佬幫我寫純c程式。
