我的问题strtod()
似乎添加了一些数字。我正在阅读
2\t5241021356985.0302\t9.09\t825.45
从文件跳过整数后,2
我得到以下输出
output: 5241021356985.030273 9 .090000
这是我的代码
char *input_string = (char*) calloc(filesize, sizeof (char*));
char *output_string = (char*) calloc(filesize, sizeof (char*));
char *input_end;
fgets(input_string, filesize, infile);
input_end = input_string;
int size_to_read = (int) strtof(input_string, &input_end);
char *temp_string=(char*)calloc(70,sizeof(char*)); // max double value
double temp = 0;
++input_string;
for (int i = 0; i < size_to_read; ++i) {
temp = strtod(input_string, &input_end);
sprintf(temp_string, "%lf\t", temp);
strcat(output_string, temp_string);
input_string = input_end;
++input_string;
}
strcat(output_string, "\0");
printf("output: %s\n", output_string);