[英]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;
}
}
對於初學者你需要一些括號,或者你將繼續存儲fgetc
和EOF
的結果之間的比較:
while((holder=fgetc(fileA)) != EOF)
^ ^
fgetc
返回一個int
,而不是一個char
。 這是因為EOF
大於char可以存儲的值(以避免與char
的值沖突)。 因此,您可能會超過文件末尾並讀取隨機數據。
將holder更改為int
並在打印並將其存儲在數組中時使用(char)holder
。
我建議你再次通過尋找文件大小來檢測文件的大小,並立即調整文件大小,立即分配內存並通過一次調用fread一次讀取整個文件。
看到我對你上一個問題的回答
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.