我想從文本文件中讀取80個字符,將它們保存爲字符串,然後打印該字符串以進行驗證。 我使用的fread和有這樣的代碼:從文本文件讀取fread時獲取' '或'@'符號
char message[80];
size_t nread = fread(message, 1, sizeof(message), fp);
printf("Message received: \"__%s__\"\n", message);
,輸出是:收到
消息:「__I很想改變這個世界,但他們不會
__」
當整個短語是不是在文件中
和:
__I很想改變這個世界,但他們不會給我的源代碼
@__
當整個短語在文件中。
我試過刪除它並重寫文本,但我再次得到相同的輸出。
出了什麼問題?與charset有什麼關係?
嘗試'消息[nread] = 0'。 – cnicutar
@cnicutar,如果它讀了'80',那麼這將是'message'結尾的一個。 – hmjd
@hmjd是的,在此之前必須檢查'nread'。或者只是將sizeof - 1傳遞給'fread'。 – cnicutar