您能帮我吗?我在一个txt文件中有一个字符串23;56;36.6;run
。然后,我正在读这个字符串以便用于一些工作:我想从一个字符串中获取这个值,然后将它们与代码中的某些值进行比较,并将结果输出安慰。我认为,我应该使用atoi()
功能,使我的字符串在数字中挑选出来,我使用strtok()
。但是,我应该如何正确记录循环中的令牌while
,最后一个令牌是一种字符型。我该如何做这项工作?读取一个字符串并将其存入(int)中C
CODE:
void printInfo(int note)
{
int i;
FILE *out;
char str[250];
char sp[10]=";";
char *istr;
if ((out =fopen("test.txt","r"))==NULL)
printf("Error open, file\n");
else
{
for (i=0;i<note;i++)
{
fgets(str,250,out);
istr=strtok(str,sp);
while (istr != NULL)
{
printf("%d\n",atoi(istr));
istr=strtok(NULL,sp);
// I think, I need to create a variable for recording my values.
}
}
}
fclose(out);
}
您可以将字符串转换以'sscanf'整数(或浮点数)。 – d3L
我会说最简单的解决方案就是:'sscanf(“23; 56; 36.6; run”,“%f;%f;%f;”,&n [0],&n [1],&n[2]);' – d3L