0
這解析爲char數組,我想通過解析:麻煩通過字符數組用C
array1 word 2, 3, 4, 5, 6, 7
現在我已經寫了下面的代碼,試圖做到這一點:
char* variableName = strtok(currentLine, " "); // array1
strtok(NULL, " "); // skip the 'word' token
char arrayOfElements[256]; // 256 = maximum line size
char* currentElement = strtok(NULL, " "); // currentElement = "2,"
strcpy(arrayOfElements, currentElement); // arrayOfElements = "2,"
int numberOfArrayElements = 1;
while (currentElement != NULL) { // <== I think it's a inifinite loop becuase of this condition but I don't know how to fix this condition
currentElement = strtok(NULL, " "); // = "3," on first pass
strcat(arrayOfElements, " "); // = "3, " on first pass
strcat(arrayOfElements, currentElement); // arrayOfElements = "2, 3," on first pass
numberOfArrayElements++;
}
我的最終目標是我想要arrayOfElements = 2,3,4,5,6,7
如果第二個strok()返回NULL,該怎麼辦?您正在愉快地將可能爲NULL的字符串strcpying到arrayOfElements中。實際上,在strcpy()或strcat()完成後,您測試它是否爲NULL。你應該先詢問,稍後再拍(訪問字符串)。 –
您是否試圖製作沒有前導''單詞''字符串的另一個字符串,或者您是否嘗試從原始字符串中創建一個整數數組? – DevNull
最後我想arrayOfElements = 2,3,4,5,6,7 –