我想在第一个空格字符处将字符串拆分为两部分。例如,我有一个字符串“Hay Guys LOL”,分割时,“Hay”应该在一个变量中,而“Guys LOL”在另一个变量中。如何分割一次字符串?
我已经研究过像strtok
这样的函数 - 它可以工作,但我宁愿不循环,然后组合字符串。
这是我现在有(尝试的sscanf):
char test[32];
strcpy(test, "Hay Guys LOL\r\n");
// p1 should have "Hay", and p2 have "Guys LOL"?
char p1[16], p2[16];
sscanf(test, "%s %s\r\n", p1, p2);
printf("p1: %s\n", p1);
printf("p2: %s\n", p2);
谢谢!
考虑一下你是否真的想在你的字符串中使用'“\ r \ n”而不是'“\ n”'。 C只使用'“\ n”'来表示一行结尾;它在输入和输出到文本流时转换为系统特定的行结束(通常为“\ n”或“\ r \ n”')。这取决于你将要使用的字符串。 –