[英]Parsing string in C using strtok and store in array
我正在使用strtok解析字符串。 我正在解析的字符串可能有兩種可能性,例如“ 10,5”或“ 10” 。 當我解析“ 10,5”時,我可以成功地將其放入數組,但是當我具有“ 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
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.