0
我需要找到一種方法在中間的空間分割兩個字符串。如何在第一個空格處拆分字符串並將字符串分配給不同的變量?
然後我需要將這兩個新字符串交給兩個變量(x和y)。
我寧願第二個字符串開始在空格後的下一個字母的位置。
我是新來的,所以任何簡單的建議都會受到歡迎。
我需要找到一種方法在中間的空間分割兩個字符串。如何在第一個空格處拆分字符串並將字符串分配給不同的變量?
然後我需要將這兩個新字符串交給兩個變量(x和y)。
我寧願第二個字符串開始在空格後的下一個字母的位置。
我是新來的,所以任何簡單的建議都會受到歡迎。
可以使用strchr
函數來查找字符串中第一次出現' '
。然後你可以做這樣的事情:
char* wholeSentence = "hello world";
char* startOfSecond = strchr(wholeSentence, ' '); // " world";
size_t lengthOfFirst = startOfSecond - wholeSentence;
char* first = (char*)malloc((lengthOfFirst + 1) * sizeof(char));
strncpy(first, wholeSentence, lengthOfFirst)); // "hello"
你可以找到第二個以相同的方式。
使用函數strtok
例子:
char x[80] = "This is";
const char s[] = " ";
char *y;
strtok(x, s); // first string
y = strtok(NULL, s); // second string
看一看'strtok'。應該是你需要的一切。 – StoryTeller
我不知道如何使用strtok將2個字符串分配到新的數組中。我是新手,所以需要更多信息。 – Humanoid
關於如何使用'strtok',有很多資源。試一試。如果您遇到困難,請嘗試使用'strtok'。 –