나는처럼 보이는 char buffer[128]
있습니다분할 문자 [] 읽기 수레
이 중 각 플로트를 얻을 수있는 간단한 방법이 될 것입니다 무엇-0.003662 0.996887 0.012818 1.010438 0.004120 1.025911
C에서 문자 배열?
나는처럼 보이는 char buffer[128]
있습니다분할 문자 [] 읽기 수레
이 중 각 플로트를 얻을 수있는 간단한 방법이 될 것입니다 무엇-0.003662 0.996887 0.012818 1.010438 0.004120 1.025911
C에서 문자 배열?
당신이 당신의 문자열에 얼마나 많은 수레 알고 있다면, 당신은 또한 고려할 수 sscanf
char buffer[128] = "-0.003662 0.996887 0.012818 1.010438 0.004120 1.025911";
float nums[6];
int numFloats = sscanf(buffer, "%f %f %f %f %f %f",
&nums[0], &nums[1], &nums[2], &nums[3], &nums[4], &nums[5]);
:
뭔가를해야만 같은 :
을void parse_numbers(char *buffer) {
char *number = NULL;
for (number = strtok(buffer, " "); number != NULL; number = strtok(NULL, " ")) {
do_something_with_number(conert_string_to_float(number));
}
}
float convert_string_to_float(char *number) {
float return_value = 0;
sscanf(number, "%f", &return_value);
return return_value;
}
제안 해 주셔서 감사합니다. –
문자열에서 수의 수를 알고 있기 때문에 이것은 완벽합니다! 고맙습니다. –
'sscanf()'의 반환 값을 검사하여 예상 된 변환 횟수를 얻었는지 확인해야합니다. – unwind
@unwind 고마워, 좋은 지적, 이것을 보여주기 위해 코드를 업데이트했다. – simonc