| 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 ;(
такие дела.
|