我的程序要求我讀一個dat文件與數字的列表。我的目標是獲得每個數字並將它們添加到數組中。該文件具有這種格式的大約100號:讀取dat文件,並添加數字數組
(造型有點過抱歉;)
到目前爲止,我有
int main()
{
double prices[1000];
int count,price;
FILE *file;
file = fopen("price.dat","r");
if(file == NULL)
{
printf("Error: can't open file to read\n");
}
else
{
printf("File prices.dat opened successfully to read\n");
}
if (file){
while (fscanf(file, "%d", &price)!= NULL){
count++;
prices[count]=price;
}
}
fclose(file);
}
問題是它會不斷添加最後一個數字。任何幫助?
'fscanf'不會返回NULL。請查看[文檔]中的返回值(http://pubs.opengroup.org/onlinepubs/007908775/xsh/fscanf.html)。 –
而不是'null'使用'EOF',應該是這樣。另外,將你的計數設置爲0,而不是讓它隨機選擇一些內存字節。 – Shark