cucullus |
|
Темы:
257
Сообщения:
3438
Участник с: 06 июня 2007
|
Есть строка, содержащая некоторое (в лучшем случае наперёд неизвестное) количество чисел через некий разделитель:char *str="0,-1.5,5.3,2,3,4,5"; Вариант while(sscanf(str,"%f",array[i++]) );
такие дела.
|
exire |
|
Темы:
5
Сообщения:
181
Участник с: 25 ноября 2006
|
#include <stdio.h> #include <string.h> int main() { char *str="0,-1.5,5.3,2,3,4,5"; char tok = ','; int i = 0; char *tmp_str; float arr[7]= {0}; sscanf(str, "%f", &arr[i]); tmp_str = str; while ((tmp_str = strchr(tmp_str+1, tok))) { sscanf(tmp_str+1, "%f", &arr[++i]); } for (i = 0; i < 7; i++) printf("%f\n", arr[i]); return 0; } |
cucullus |
|
Темы:
257
Сообщения:
3438
Участник с: 06 июня 2007
|
Спасибо за ответ, eXire. За неимением элегантного решения пришлось сделать через fscanf ;(
такие дела.
|