このようなファイルがあるとしましょう
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 を使用してこのファイルの単語を読み取り、数値を float 配列に、単語を文字列の配列に入れたいと考えています。しかし、数時間の精力的な思考の後、私はまだこの問題を解決する方法を理解できません.
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
各行末の文字列の扱いがわかりません。これらの文字列を構造 company -> name[10] に入れたい。これらのデータはテキスト ファイルにあります。