【发布时间】:2013-06-24 09:47:27
【问题描述】:
我有一个如下所示的字符串:
原子 3760 CB GLU B 208 21.707 20.319 45.764 0.0000 2.2350
我从一个文件中读取它。
我想把 208 变成一个 int。请注意,数字可能是 11208,在这种情况下,将占用 208 之前的两个空格。我正在尝试以下操作,但我不断遇到设置错误。想法?
char* line = NULL;
size_t len = 0;
int res_num;
while (getline (&line, &len, fp) != -1)
{
sprintf(res_num,"%5.1d",atoi(line+22));
printf("%d\n",res);
}
【问题讨论】:
-
你应该拆分你的 char* 然后使用 atoi 来获取值
-
你也可以使用 sscanf 来扫描和分割字符串。