2017-03-05 94 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 
相关问题