Парсинг строки на СИ
читаю файл, в нем имеется строка в виде
1:18 term: 0 wan_rocher sekond 22
строку читаем, все замечательно, а вот как саму строку распарсить ?
p.s.
так как я начал изучать си совсем не давно, вопросов уйма.
scanf - парс stdin sscanf - парс считаной строки fscanf - парс строки из файла в си без плюсов вроде должны быть такиеже ф-ии. в твоём случае:
Код:
int hour;
int min;
int term;
char user_name[255];
char sekond[255];
int hz;
sscanf(считаная_строка,"%d:%d term: %d %s %s %d",&hour, &min, &term, &user_name,&sekond,&hz);
int min;
int term;
char user_name[255];
char sekond[255];
int hz;
sscanf(считаная_строка,"%d:%d term: %d %s %s %d",&hour, &min, &term, &user_name,&sekond,&hz);
помогло.
только я маненько видоизменил, и зарабило все.
char hour[BUFSIZE],min[BUFSIZE],term[BUFSIZE],user_name[BUFSIZE],sekond[BUFSIZE],hz[BUFSIZE];
sscanf(ss,"%s %s %s %s %s %s",hour, min, term, user_name,sekond,hz);
printf("%s %s\n",hour, min);
оказалось все просто =)
Цитата: ypa
sscanf(ss,"%s %s %s %s %s %s",hour, min, term, user_name,sekond,hz);
Это вы не распарсили, а разбили. Потому что для манипуляций в дальнейшем всё равно придется приводить к правильным типам.
хорошо, как распарсить ?
Цитата: ypa
ну да, разбил, хоть как то,что то.
хорошо, как распарсить ?
хорошо, как распарсить ?
arrjj вам всё уже ответил.