プロが教えるわが家の防犯対策術!

atofを使うと、文字列から出来るところまで数字を得ますが、
何処まで解釈したかが不明です。

"123e+4abc";

をatofすると"123e+4"まで解釈しますが、"a"の場所である6を知る方法は無いですか。

A 回答 (2件)

こんな感じです。



--------------------------
#include <stdio.h>
#include <stdlib.h>
int main(void){
char *s = "123e+4abc";
char *p;
double d;

d = strtod(s, &p);
printf("data = %g\n", d);
printf("next char = '%c'\n", *p);
printf("next index = %d\n", (int)(p - s));

return 0;
}
    • good
    • 0

use strtod

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!