Вы можете мне помочь? У меня есть строка 23;56;36.6;run
в txt-файле. Затем я читаю эту строку, чтобы использовать ее для некоторой работы: я хотел бы взять эти значения из строки, затем сравнить их с некоторыми значениями в коде и вывести свой результат в консоль. Я думаю, я должен использовать функцию atoi()
, которая делает мою строку в числах, для выделения, я использую strtok()
. Но как правильно я должен записывать свои токены в цикле while
, а последний токен - это тип символа. Как я могу сделать эту работу?Прочтите текст и введите его (int) в C
КОД:
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