-3
我目前的问题是从stdin
中读取未知数量的整数。我的方法是使用gets()将整行存储为char数组(char str[50]
)。我想解析char数组并将每个“字符串int”转换为一个整数并存储在一个int数组中。我尝试过使用strtol(nums[i]=strtol(A, &endptr, 10)
),其中A
是char数组,但是,当A的其余部分也是数字时,endptr似乎不存储任何内容,例如,如果A是“8 hello”endptr = hello,但是当A是“ 8 6 4" endptr是什么。将字符串数组转换为C中数组的最佳方式
有没有更好的方法吗?这是可能的atoi
?任何帮助,不胜感激!谢谢!
char A[1000];
long nums[1000];
printf("Enter integers: ");
gets(A);
char *endptr;
int i=0;
while(endptr!=A){
nums[i]=strtol(A, &endptr, 10);
i++;
}
遍历数组并转换每个数字。有什么问题?显示你的代码。这不是编码服务。 – Olaf
含糊不清的问题。你可以发布一些代码吗? –
如果A =“12 35 78”我将如何去迭代char数组?我可以将它转换成“1 2 3 5 7 8”,但这不是我所需要的。 –