當前位置:首頁 » 編程語言 » c語言切割出前面幾個字元
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言切割出前面幾個字元

發布時間: 2022-05-16 19:32:28

1. c語言中字元切割函數split的實現

#include<stdio.h>
#include<string.h>

//將str字元以spl分割,存於dst中,並返回子字元串數量
intsplit(chardst[][80],char*str,constchar*spl)
{
intn=0;
char*result=NULL;
result=strtok(str,spl);
while(result!=NULL)
{
strcpy(dst[n++],result);
result=strtok(NULL,spl);
}
returnn;
}

intmain()
{
charstr[]="whatisyouname?";
chardst[10][80];
intcnt=split(dst,str,"");
for(inti=0;i<cnt;i++)
puts(dst[i]);
return0;
}

2. C語言以逗號分割字元串

#include<iostream>

#include<vector>

#include<sstream>

usingnamespacestd;

intmain()

{

strings;

vector<int>v;

cin>>s;

//將讀入的字元串轉化成is流

istringstreamis(s);

intinter;

charch;

while(is>>inter)//只能讀出is流中的一個整形讀進inter

{

v.push_back(inter);

is>>ch;//然後讀一個字元型讀進ch

}

for(inti=0;i<v.size();i++)

cout<<v[i]<<"";

cout<<endl;

return0;

}

(2)c語言切割出前面幾個字元擴展閱讀

C語言的字元串按照指定字元串分割操作

#include<stdio.h>

#pragmawarning(disable:4996)

#include<stdlib.h>

intmain()

{

charstr[]="我,是,中國,程序員";

char*ptr;

char*p;

printf("開始前:str=%s ",str);

printf("開始分割: ");

ptr=strtok(str,",");

while(ptr!=NULL){

printf("ptr=%s ",ptr);

ptr=strtok(NULL,",");

}

getchar();

}

3. 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;
}

4. C語言輸入一串字元串從第n個字元開始截取m個字元組成一個新的字元串輸出。

1、我們編輯如圖中輸入的代碼。

5. 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;
}

6. C語言中如何截取字元串的前幾個字元

自寫的字元串截取程序,不懂可以繼續問
系統里的截取前n個字元是strncpy
#include
<stdio.h>
#include
<stdlib.h>
char
*mystrncpy(const
char
*string,int
n){//要求截取的字元串不可以改變,但指向字元串的指針可以改變
char
*p=string;
if(p==NULL){//如果截取的字元串是空的直接返回
return
NULL;
}else{
int
i=0;
while(*p!='\0'){//循環直到達n個字元串終止
if(i==n){
break;
}
i++;
p++;
}
*(p++)='\0';//賦值結束字元串
return
string;
}
}
int
main()
{
char
str[50]="hello
world";
printf("%s\n",mystrncpy(str,3));
printf("Hello
world!\n");
return
0;
}

7. c語言中獲取字元串前兩位的函數

可以使用strncpy()來將復制字元串中前n個字元。比如:
char str1[] = "this is a string";
char str2[3];
strncpy(str2, str1, 2);
str2[2] = '\0'; // 此時str2="th"

8. C語言中如何截取字元串的前幾個字元

自寫的字元串截取程序,不懂可以繼續問
系統里的截取前n個字元是strncpy
#include <stdio.h>
#include <stdlib.h>
char *mystrncpy(const char *string,int n){//要求截取的字元串不可以改變,但指向字元串的指針可以改變
char *p=string;
if(p==NULL){//如果截取的字元串是空的直接返回
return NULL;
}else{
int i=0;
while(*p!='\0'){//循環直到達n個字元串終止
if(i==n){
break;
}
i++;
p++;
}
*(p++)='\0';//賦值結束字元串
return string;
}
}
int main()
{
char str[50]="hello world";
printf("%s\n",mystrncpy(str,3));
printf("Hello world!\n");
return 0;
}

9. C語言如何分割字元串

可以寫一個分割函數,用於分割指令,比如cat a.c最後會被分割成cat和a.c兩個字元串、mv a.c b.c最後會被分割成mv和a.c和b.c三個字元串。

參考代碼如下:

#include<stdio.h>
#include<string.h>
#defineMAX_LEN128
voidmain()
{
inti,length,ct=0,start=-1;
charinputBuffer[MAX_LEN],*args[MAX_LEN];
strcpy(inputBuffer,"mva.cb.c");
length=strlen(inputBuffer);
for(i=0;i<=length;i++){
switch(inputBuffer[i]){
case'':
case' ':/*argumentseparators*/
if(start!=-1){
args[ct]=&inputBuffer[start];/*setuppointer*/
ct++;
}
inputBuffer[i]='';/*addanullchar;makeaCstring*/
start=-1;
break;
case'':/*shouldbethefinalcharexamined*/
if(start!=-1){
args[ct]=&inputBuffer[start];
ct++;
}
inputBuffer[i]='';
args[ct]=NULL;/*nomoreargumentstothiscommand*/
break;
default:/*someothercharacter*/
if(start==-1)
start=i;
}
}
printf("分解之後的字元串為: ");
for(i=0;i<ct;i++)
printf("%s ",args[i]);
}

10. c語言,截取前幾個數字用什麼函數

#include<stdio.h>
#define max 200 //輸入的數最多兩百個
int main()
{
int i,input,len=0;
int a[max],front;
printf("\nplease input the number!\n");
scanf("%d",&input);
printf("請輸入要取出的位數!\n");
scanf("%d",&front);
len=strlen(input); //輸入數字的長度
for(i=0;i<front;i++) //用來取出所有的單個數字
{
a[i] =input/(10^len);
input=input%(10^len);
len--;
}
for(i=0;i<front;i++)
{
printf("%d",a[i]);
}
}
這道題應該能運行,不能的話,發個消息過來,我來調試下!