簡體   English   中英

我如何讀取文本文件字母並保存到C中的數組中

[英]How i can read text file letters and save into array in C

當我cout持有人(是char)的價值時,會顯示一個含糊不清的字母。 如何讀取字母並保存到數組然后打印出來?

while (holder=fgetc(fileA) != EOF) {
    cout << holder;
    lenA++;
    temp = (char*) realloc(seqA,lenA*sizeof(char));
    if (temp != NULL) {
        seqA = temp;
        seqA[lenA-1] = holder;
    }
}

對於初學者你需要一些括號,或者你將繼續存儲fgetcEOF的結果之間的比較:

while((holder=fgetc(fileA)) != EOF)
      ^                   ^

fgetc返回一個int ,而不是一個char 這是因為EOF大於char可以存儲的值(以避免與char的值沖突)。 因此,您可能會超過文件末尾並讀取隨機數據。

將holder更改為int並在打印並將其存儲在數組中時使用(char)holder

我建議你再次通過尋找文件大小來檢測文件的大小,並立即調整文件大小,立即分配內存並通過一次調用fread一次讀取整個文件。

看到我對你上一個問題的回答

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM