讓說我有一個文件看起來像這樣從文本文件中讀取字符串和整
51.41 52.07 52.01 51.22 50.44 49.97 Coal Diggers
77.26 78.33 78.29 78.12 77.09 75.74 Airplane Flyers
31.25 31.44 31.43 31.09 31.01 30.92 Oil Fracting and Pumping
52.03 12.02 12.04 22.00 31.98 61.97 Big Bank
44.21 44.32 44.29 43.98 43.82 43.71 Rail Container Shipping
93.21 93.11 93.02 93.31 92.98 92.89 Gold Bugs
我想用的fscanf把浮法陣列和字號碼的陣列,以讀取該文件的字字符串。但是,經過幾個小時的艱苦思考,我仍然無法弄清楚如何解決這個問題。
void dataInsert (COMPANY* company1, COMPANY* company2, COMPANY* company3, COMPANY* company4, COMPANY* company5, COMPANY* company6)
{
//Function Declaration
FILE* spData;
float number;
char* name[20];
//Statement
if ((spData = fopen("dataFile","r")) == NULL)
{
fprintf(stderr, "ERROR OPENING!!");
exit (1);
}
int i = 0;
int numCount = 0;
int lineCount = 0;
while (fscanf(spData, "%f", &number) != EOF)
{
if(isdigit(number))
{
if (lineCount == 0)
{
company1 -> stock_price[i] = number;
}
else if (lineCount == 1)
{
company2 -> stock_price[i] = number;
}
else if (lineCount == 2)
{
company3 -> stock_price[i] = number;
}
else if (lineCount == 3)
{
company4 -> stock_price[i] = number;
}
else if (lineCount == 4)
{
company5 -> stock_price[i] = number;
}
else if (lineCount == 5)
{
company6 -> stock_price[i] = number;
}
numCount++;
i++;
if (numCount == 6)
{
lineCount++;
numCount = 0;
i = 0;
}
}
}//while
fclose (spData);
}//dataInsert
我不知道如何處理每行末尾的字符串。我想把這些字符串放在結構公司 - >名稱[10]中。這些數據都在一個文本文件中。
您確定要讀出的值作爲_integers_而不是_floating point_?另外,請告訴我們[你曾嘗試](http://mattgemmell.com/2008/12/08/what-have-you-tried/)。 – 2013-03-09 02:02:21
這些實際的'
'標籤在文件中?這是文件的XML或HTML或什麼?也許你應該使用解析庫?如果該文件與您在此顯示的格式完全相同,則可以使用C語言對其進行解析,但腳本語言會更容易一些...... Python將是我的選擇。 – steveha 2013-03-09 02:05:03
你的文件是否總是這樣組織?在字符串之前有相同數量的數字?或者你是否必須檢測你正在閱讀的是數字還是字符串? – 2013-03-09 02:11:14