當前位置:首頁 » 編程語言 » 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-16 20:18:46 瀏覽:461
pci加密解密控制器驅動 發布:2025-07-16 20:16:18 瀏覽:175
銳龍本編程 發布:2025-07-16 19:35:08 瀏覽:645
初學c語言用什麼軟體 發布:2025-07-16 19:29:12 瀏覽:338
編譯原理實驗分析子程序 發布:2025-07-16 19:28:06 瀏覽:463
長江存儲宿舍有wifi嗎 發布:2025-07-16 19:20:45 瀏覽:872
sqlservertrigger 發布:2025-07-16 19:08:19 瀏覽:400
android中權重 發布:2025-07-16 19:07:26 瀏覽:422
lol界面在哪個文件夾 發布:2025-07-16 19:01:53 瀏覽:937
php文件解壓 發布:2025-07-16 19:01:08 瀏覽:884