我已經編寫了這段代碼,以便從用戶那裏獲取輸入並將其保存爲文本文件。C:分段錯誤
int main(){
FILE *fp;
fp = fopen("rahiv.txt", "w");
char s[80];
char a;
gets(s);
a = s ;
fputs(s, fp);
}
但是如果我想寫的fputs部分類似下面,它給了我分割錯誤,我怎麼能強制轉換得到()函數的返回值和解決這個問題!
int main(){
FILE *fp;
fp = fopen("rahiv.txt", "w");
char s[80];
fputs(gets(s), fp);
}
你對'a = s;'有什麼打算?建議:啓用編譯器中的所有警告,並將其設置爲將其視爲錯誤。 – Groo
你怎麼知道文件成功打開? – John3136
我質疑'a = s;'的神經質,而這與使用['gets']缺乏任何意義相比就顯得蒼白(http://en.cppreference.com/w/c/io/gets)無論如何,這種邪惡和邪惡的功能已經從多年前的標準庫中移除了。你看起來是一個相當信任的靈魂,因爲'fopen'不能保證成功,也不會'獲得',但你似乎相信雙方都會成功,永遠不會檢查他們的結果。 – WhozCraig