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'。 –