我正在通过重定向使用输入。我正在尝试将字符串中的数字存储为整数。
第一个数字是1989年...但是只存储了“1”。我使用strtol错了吗?
table是一个结构数组
value是一个整数数组。
//(*row, i, j) = 0
while((c = fgetc(stdin)) != EOF)
{
if (c != ' ' && c != '\n')
{
str[i] = c;
i++;
}
else if (c == ' ')
{
str[i] = '\0';
i = 0;
table[*row].value[j] = strtol(str, NULL, strlen(str));
这段代码有效,如果在1989年读完之后它会进入其他...但由于某种原因,strtol只存储'1'而不是存储'1989'。