当前位置:首页 » 编程语言 » c语言空格分割字符串

c语言空格分割字符串

发布时间: 2023-05-15 15:59:12

c语言如何读取一行数据,以空格分开

可以使用strtok函数行庆清做分割单词。

#include<string.h>

voidmain()

{

chars[]="192.168.0.26";

char*delim=".";

char*p;

printf("%s",strtok(s,delim));

while((p=strtok(NULL,delim)))

printf("%s",p);

printf(" ");

}

(1)c语言空格分割字符串扩展阅读

在C++中strtok的使用

#include<iostream>

#include<cstring>

usingnamespacestd;

intmain()

{

charsentence[]="Thisisasentencewith7tokens";

cout<<差枝"Thestringtobetokenizedis: "<<sentence<<" Thetokensare: ";

char*tokenPtr=strtok(sentence,"");

while(tokenPtr!=NULL){

cout<<tokenPtr<<endl;

tokenPtr=strtok(NULL,"");

}

//cout<<"Afterstrtok,sentence="<<tokenPtr<<档前endl;

return0;

}

㈡ C语言中输入字符串,里面有空格,怎么根据空格把字符串分开,并存在数组里

程序源码如下:

#include<stdio.h>

#include<string.h>

intmain(void)

{

char str[1000];//定义一个字符串数组

char strnew[1000];//定义一个备用字符串数组

char m[]="";//定义空格变量

printf("请输入一串字符:");//文字提示输入字符串

gets(str);//输入字符串

char*p=strtok(str,m);//取str与m的指针

printf("%s ",p); //输出

p=strtok(NULL,m);

while(p) //遍历输出

{

printf("%s ",p); //输出字符串

p=strtok(NULL,m); //指向下一个

}

}

程序输出结果:


(2)c语言空格分割字符串扩展阅读:

C语言:输入一个字符串放入数组里,删除其中的空格

#include <stdio.h>

#include<string.h>

#define N 100

void main()

{

int i=0,j;

char c,str[N];

printf("输入字符串str: ");

while((c=getchar())!=' ')

{

str[i]=c;//输入字符串

i++;

}

str[i]='';

for(i=0;str[i]!='';i++)

{

if(str[i]==' ')

{

for(j=i+1;str[j]!='';j++)

{

str[j-1]=str[j];

}

str[j]='';

}

else continue;

}

str[i-2]='';

printf("去掉空格后的字符串为: ");

for(i=0;str[i]!='';i++)

printf("%c",str[i]);

printf(" ");

}

㈢ 急急急 !在线等!!如何用C语言输入两个字符串,字符串之间以一个空格分隔

#include<stdio.h>
intmain()
{
chararr[10];
inti;
for(i=0;i<2;i++)
scanf("%c",&arr[i]);
for(i=0;i<2;i++)
scanf("%c",arr[i]);
return0;
}

㈣ c语言字符串以空格分割

scanf("%s",a);

scanf输入的以空格或回车结束 。
所以a只接受到了空格之前的字符 ,所以就出问题了。

改成 gets(a)就好了

㈤ c语言 将输入的字符串按照空格分割

strtok函数

网页链接

char str[] ="i love c love c";

const char * split = " ";
char * p;
p = strtok (str,split);
while(p!=NULL) {
printf ("%s ",p);
p = strtok(NULL,split);
}

这么循环

说下我的逻辑,不一定最优

先弄个结构体struct里面有一个char*和一个int

再建个struct的数组

在每次循环对比之前获得的struct数组中是否含有相同的字符串

有就计数器+1

没有就在数组中为null的地方加上一个成员为这个字符串和计数为1的struct

循环结束时遍历struct数组

好久没写C了,怕给你的代码有bug,就写思路把

㈥ c语言实现分隔字符串

可以用split函数
原型是
strtok
这串字符就可以以
.
分割成
100
10
10
10
或者你可以自己写的函数
来分割这个字符串

㈦ c语言 讲一个字符串str以空格为分割,分割后输出到一个一维数组

一个函数搞定

#include<stdio.h>
intconvert(char*s,int*a)
{
intt=0,i=0,r=0;
while(1)
{
if(s[i]==''||s[i]==0)
{
a[t++]=r;
r=0;
}
elseif(s[i]<='9'&&s[i]>='0')
{
r=r*10+s[i]-'0';
}
if(s[i]==0)break;
i++;
}
returnt;
}

intmain()
{
char*str="123456";
inta[10];
intt,i;
t=convert(str,a);
for(i=0;i<t;i++)
printf("%d ",a[i]);
return0;
}

㈧ c语言中 如何分割字符串

c语言中没有 string class, 假定你指 char 字符串。
用 sscanf 方法可以分割。
char str2[]="aa 123,bb 456,cc 789,dd 000";
按逗号分割为4 部分:
aa 123
bb 456
cc 789
dd 000
-----------------
char str[]="aa,bb,cc,dd";
按逗号分割为4 部分:
aa
bb
cc
dd
-------------------------
#include <stdio.h>
main()
{
char str[]="aa,bb,cc,dd";
char str2[]="aa 123,bb 456,cc 789,dd 000";
char s[4][10];
int i;
sscanf(str,"%[^,],%[^,],%[^,],%[^,]",s[0],s[1],s[2],s[3]); // 第1种方法
for (i=0;i<4;i++) printf("%s\n",s[i]);
sscanf(str2,"%[^,],%[^,],%[^,],%[^,]",s[0],s[1],s[2],s[3]); // 第1种方法
for (i=0;i<4;i++) printf("%s\n",s[i]);
//-----------
for (i=0;i<strlen(str);i++) if (str[i]==',') str[i]=' '; // 第2种方法--替换成空格分隔
sscanf(str,"%s %s %s %s",s[0],s[1],s[2],s[3]);
for (i=0;i<4;i++) printf("%s\n",s[i]);
return 0;
}

㈨ c语言中,输入任意字符串,任意空格隔开

用scanf以%s读入字符串,即可实现输入以空格分隔的字符串。

以下代码功能为,循环读入以空格分隔字符串,并每行打印一条,读到EOF时,停止输入。

intmain()
{
chars[100];
while(~scanf("%s",s))puts(s);
}

㈩ C语言分割字符串

使用strtok函数即可实现分割字符串。

1、strtok函数:
原型:char *strtok(char s[], const char *delim);
功能:将一个字符串分解为一组字符串,s为要分解的字符串,delim为分隔符字符串;
说明:当strtok函数在参数s的字符串中发现参数delim中包含的分割字符时,则会将该字符改为 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针;
头文件:string.h;
返回值:从字符串s开头开始的一个个被分割的字符串。分割结束时,返回NULL。所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。
2、例程:

#include<stdio.h>
#include<string.h>
intmain(){
charinput[16]="abc,d,ef,g";//待分解字符串
char*delim=",";//分隔符字符串
char*p=strtok(input,delim);//第一次调用strtok
while(p!=NULL){//当返回值不为NULL时,继续循环
printf("%s ",p);//输出分解的字符串
p=strtok(NULL,delim);//继续调用strtok,分解剩下的字符串
}
return0;
}
热点内容
流量漂移算法 发布:2025-07-17 08:36:19 浏览:746
ftp命令文件夹是否存在 发布:2025-07-17 08:35:19 浏览:170
java网络程序 发布:2025-07-17 08:33:44 浏览:617
用拼音编译代码 发布:2025-07-17 08:23:48 浏览:358
烽火服务器ip修改 发布:2025-07-17 08:14:43 浏览:981
c语言开机启动 发布:2025-07-17 08:12:09 浏览:440
天津开票系统服务器地址 发布:2025-07-17 08:11:01 浏览:696
大黄蜂BDftp 发布:2025-07-17 08:10:51 浏览:285
在QQ音乐上传 发布:2025-07-17 08:06:03 浏览:155
数据库关闭连接 发布:2025-07-17 08:05:10 浏览:189