使用strtok解析C中的字符串并存储在数组中
Parsing string in C using strtok and store in array
我正在使用 strtok 解析字符串。我正在解析的字符串可能有两种可能性,如 "10,5" 或 "10"。当我解析 "10,5" 时,我可以成功地将 then 放入数组中,但是当我有这个 "10" 时,我有 1 项 10另一个项目是数组中的一个大整数。
这是我的代码
int array[2];
char *p = strtok (argv[1], ",");
while (p != NULL)
{
array[n++] = atoi(p);
p = strtok (NULL, ",");
}
请问有什么处理方法的建议吗?
你还没有初始化数组,所以如果循环只找到一个数字,你会得到第二个元素中的任何未初始化的垃圾。
int array[2] = {0, 0};
会将两个元素初始化为 0
。如果输入只有 10
,数组将包含 10, 0
.
我正在使用 strtok 解析字符串。我正在解析的字符串可能有两种可能性,如 "10,5" 或 "10"。当我解析 "10,5" 时,我可以成功地将 then 放入数组中,但是当我有这个 "10" 时,我有 1 项 10另一个项目是数组中的一个大整数。
这是我的代码
int array[2];
char *p = strtok (argv[1], ",");
while (p != NULL)
{
array[n++] = atoi(p);
p = strtok (NULL, ",");
}
请问有什么处理方法的建议吗?
你还没有初始化数组,所以如果循环只找到一个数字,你会得到第二个元素中的任何未初始化的垃圾。
int array[2] = {0, 0};
会将两个元素初始化为 0
。如果输入只有 10
,数组将包含 10, 0
.