如何将一个字符串以一个空格为分隔符,分割成两个字符串?
3个回答
展开全部
比较通用的有两种方法:
1.利用sscanf,例子如LS。
sscanf(a,"%s%s",b,d);这里把源字符串a按%s格式读入到字符串b和d中。
%s的含义是读子字符串,这个字串是不含空格的。遇到空格就会结束读入。
2.自己写分割字符串函数。
典型的方法是利用strchr(s,' ')在s中找到第一个空格的指针,然后对指针自增得到不包含这个空格的子串,再把源串的空格改为'\0',这样就可以通过指针引用符合条件的子串。重复这一操作可以得到各个子串。
方法2的好处是比较自由,例如的在源串中含有多个空格而只需要分割成两个部分时,用方法1就比较难控制具体以哪个空格为界分割,而方法2可以自己储存满足条件的空格的指针来完成目的。
====
[原创回答团]
1.利用sscanf,例子如LS。
sscanf(a,"%s%s",b,d);这里把源字符串a按%s格式读入到字符串b和d中。
%s的含义是读子字符串,这个字串是不含空格的。遇到空格就会结束读入。
2.自己写分割字符串函数。
典型的方法是利用strchr(s,' ')在s中找到第一个空格的指针,然后对指针自增得到不包含这个空格的子串,再把源串的空格改为'\0',这样就可以通过指针引用符合条件的子串。重复这一操作可以得到各个子串。
方法2的好处是比较自由,例如的在源串中含有多个空格而只需要分割成两个部分时,用方法1就比较难控制具体以哪个空格为界分割,而方法2可以自己储存满足条件的空格的指针来完成目的。
====
[原创回答团]
参考资料: 原创
展开全部
是的
以%s输入时,遇到一个空格,(之前输入的)即为一个字符串。
即想输入多个字符串时,之间用空格分隔。
以%s输入时,遇到一个空格,(之前输入的)即为一个字符串。
即想输入多个字符串时,之间用空格分隔。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2016-05-11
展开全部
//---------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
char a[]="abc def";
char b[10],d[10];
sscanf(a,"%s%s",b,d);
puts(b);
puts(d);
return 0;
}
//---------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
char a[]="abc def";
char b[10],d[10];
sscanf(a,"%s%s",b,d);
puts(b);
puts(d);
return 0;
}
//---------------------------------------------------------------------------
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询