让说我有一个文件看起来像这样从文本文件中读取字符串和整
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