C语言以逗号分割字符串#includeiostream
#includevector
#includesstream
usingnamespacestd;
intmain()
{
strings;
vectorintv;
cins;
//将读入的字符串转化成is流
istringstreamis(s);
intinter;
charch;
while(isinter)//只能读出is流中的一个整形读进inter
{
v.push_back(inter);
isch;//然后读一个字符型读进ch
}
for(inti=0;iv.size();i++)
coutv[i]"";
coutendl;
return0;
}
扩展资料
C语言的字符串按照指定字符串分割操作
#includestdio.h
#pragmawarning(disable:4996)
#includestdlib.h
intmain()
{
charstr[]="我,是,中国,程序员";
char*ptr;
char*p;
printf("开始前:str=%s\n",str);
printf("开始分割:\n");
ptr=strtok(str,",");
while(ptr!=NULL){
printf("ptr=%s\n",ptr);
ptr=strtok(NULL,",");
}
getchar();
}
C语言如何分割字符串可以写一个分割函数,用于分割指令,比如cat a.c最后会被分割成cat和a.c两个字符串、mv a.c b.c最后会被分割成mv和a.c和b.c三个字符串 。
参考代码如下高级c语言切割函数:
#include stdio.h
#includestring.h
#define MAX_LEN 128
void main()
{
int i,length,ct=0,start = -1;
char inputBuffer[MAX_LEN],*args[MAX_LEN];
strcpy(inputBuffer,"mv a.c b.c");
length=strlen(inputBuffer);
for (i = 0; i = length; i++) {
switch (inputBuffer[i]){
case ' ':
case '\t' :/* argument separators */
if(start != -1){
args[ct] = inputBuffer;/* set up pointer */
ct++;
}
inputBuffer[i] = '\0'; /* add a null char; make a C string */
start = -1;
break;
case '\0':/* should be the final char examined */
if (start != -1){
args[ct] = inputBuffer;
ct++;
}
inputBuffer[i] = '\0';
args[ct] = NULL; /* no more arguments to this command */
break;
default :/* some other character */
if (start == -1)
start = i;
}
}
printf("分解之后高级c语言切割函数的字符串为:\n");
for(i=0;ict;i++)
printf("%s \n",args[i]);
}
请问,C语言中,对带分隔符的字符串如何分割?C/C++中的Split函数是strtok()其函数原型如下:
char
*
strtok
(char
*
str,
const
char
*
delimiters);
函数说明
strtok()用来将字符串分割成一个个片段 。参数str指向欲分割的字符串,参数delimiters则为分割字符串,当strtok()在参数str的字符串中发现到参数delimiters的分割字符时则会将该字符改为'\0'字符 。在第一次调用时,strtok()必需给予参数str字符串,往后的调用则将参数str设置成NULL 。每次调用成功则返回下一个分割后的字符串指针 。
返回值
返回下一个分割后的字符串指针,如果已无从分割则返回NULL 。
示例-1
/*
strtok
example
*/
#include
stdio.h
#include
string.h
int
main
()
{
char
str[]
="a,b,c,d*e";
const
char
*
split
=
",";
char
*
p;
p
=
strtok
(str,split);
while(p!=NULL)
{
printf
("%s\n",p);
p
=
strtok(NULL,split);
}
getchar();
return
0;
}
本例中,实现对字符串'a,b,c,d*e"用逗号(,)来作界定符对字符串进行分割 。
输出结果将如下所示:
a
b
c
d*e
因为delimiters支持多个分割符,
我们将本示例中的语句行
const
char
*
split
=
",";
改成
const
推荐阅读
- 直播运营日志总结,直播运营每日工作计划
- 如何看谁给你快手推广过,快手作品推广怎么看有没有推广成功
- postgresql恢复被删除的数据,plsql恢复某时刻删除的数据
- 直播pk投票工具,直播pk投票工具有哪些
- python昵称函数 python函数改名
- js不为空的正则表达式,正则 不为空
- jquery里面怎么使用ajax的简单介绍
- 固态硬盘缓存128m怎么,固态硬盘的缓存容量
- mysql中怎么随机查询 mysql查询结果随机排序