您能幫我嗎?我在一個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