如何將.txt檔案讀入到陣列
阿新 • • 發佈:2019-02-05
博主在做一道演算法題,驗證哥德巴赫猜想,這道題百度一下全是答案,各種程式碼任你選擇。但是博主的書上有個要求,要求從input.txt輸入,從output.txt輸出。
格式是
intput.txt中的示例數字為:
4
6
8
10
那麼問題來了,如何讀取這段數字,博主的思路是把這個讀入到數組裡,然後一個一個調出來驗證猜想就好了,輸出到檔案也方便。但是,就是這樣一個輸出到陣列,折騰了博主好久(博主很菜,勿噴。)
當用fgets()函式時,它每次只讀取一個位元組,就是說,a[0]=4,a[1]=6,a[2]=8,a[3]=1,a[4]=0所以兩位數就不要考慮這個了,而且
雖然fgets()是按行讀取,但是這個直接是字串陣列,都沒有a[某某]。
不羅嗦了,直接貼程式碼。
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *fp;
fp=fopen("input.txt","r");
if(fp==NULL)
puts("file open error");
const int max=10;
int i,j=0;
int line[max];
while (!feof(fp))//判斷當前的讀寫位置是否已經達到檔案結束位置ps:說人話就是 迴圈按行讀取檔案內容
{
fscanf(fp,"%d",&i);
line[j]=i;
j++;
}
for(i=0;i<4;i++){
printf("%d\n",line[i]);
}
fclose(fp);
system("pause");
return 0;
}
這樣line數組裡直接就是int型別的一個一個的數,就能夠直接用了。博主實在是蠢,想了好久,還請勿噴。