2017-03-05 114 views
0

我需要找到一種方法在中間的空間分割兩個字符串。如何在第一個空格處拆分字符串並將字符串分配給不同的變量?

然後我需要將這兩個新字符串交給兩個變量(x和y)。

我寧願第二個字符串開始在空格後的下一個字母的位置。

我是新來的,所以任何簡單的建議都會受到歡迎。

+0

看一看'strtok'。應該是你需要的一切。 – StoryTeller

+0

我不知道如何使用strtok將2個字符串分配到新的數組中。我是新手,所以需要更多信息。 – Humanoid

+0

關於如何使用'strtok',有很多資源。試一試。如果您遇到困難,請嘗試使用'strtok'。 –

回答

1

可以使用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" 

你可以找到第二個以相同的方式。

0

使用函數strtok
例子:

char x[80] = "This is"; 
const char s[] = " "; 
char *y; 
strtok(x, s); // first string 
y = strtok(NULL, s); // second string 
相關問題