c如何將一個字元串切割
① c/cpp中如何分割字元串,類似於split的功能
c語言中 有切割字元串的函數啊!
strtok函數(const char *str, const char *ch)
第一個是字元串,第內二個是以那個字元做切容割。
例子:
#include <stdio.h>
#include <string.h>
int main(void)
{
char s[] = "123-sldkf-123ls-343434-dfjdlkfj-dflcmvn";
char *delim = "-";
char *p;
printf("%s ", strtok(s, delim));
while((p = strtok(NULL, delim))
printf("%s ", p);
printf("\n");
return 0;
}
char s[] = "dlkjf-sdlkfjsdf\lsdkljfl'sldkjf\sdkfjsdlf\lskdjfls";
如果想用-和\兩個符號切割的話
char *delim = "-\";
這樣就可以了
② C語言字元串拆分
使用strstr函數嘛(以下代碼測試通過)
功能:在一個字元串中查找特定的字元串,如內果查找到容會返回查找到字元串的位置,失敗返回NULL
分析:搜索字元串"bizbox_userlang=",成功後取出'='後和『=』後第1個';'之間的所有字元
#include <stdio.h>
int main(int argc, char* argv[])
{
char buf1[]="bizbox_username=admin; bizbox_userpass=; bizstore_note=; bizbox_userlang=zh; csd=33; cod=29.30; business_note=null";
char *buf2="bizbox_userlang=";
char *ptr;
char txt[100];
ptr=strstr(buf1,buf2); //成功返回的位置是"bizbox_userlang=zh; csd=33...."
if( ptr==NULL)
{
printf("沒有找到該內容\n");
return -1;
③ 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;
}
(3)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();
}
④ C語言怎麼把字元串按行分割
int split(char dst[][80], char* str, const char* spl)
{
int n = 0;
char *result = NULL;
result = strtok(str, spl);
while( result != NULL )
{
strcpy(dst[n++], result);
result = strtok(NULL, spl);
}
return n;
}
int _tmain(int argc, _TCHAR* argv[])
{
char str[] = "123,456 789,321";
char dst[10][80];
int cnt = split(dst, str, " ");
for (int i = 0; i < cnt; i++)
puts(dst[i]);
return 0;
}
主要是字元串分割函數專strtok的使用屬
⑤ C語言如何實現分割字元串為一個個單獨的字元並保存
太簡單了,C語言裡面本來就是用字元數組來保存的,如:char a[20]="Hello world!"這樣的話,其實本來就是分開的,char[0]就是H,char[1]就是e ,....都是這樣的
⑥ c語言自己編寫一個split字元串分割函數
這個是用c++寫的不過和的原理也差不多我運行過了,有什麼問題再問吧,c不知道能否運行,不過現在c/c++程序設計試驗系統通常都有嵌套c++,你打開c界面時單擊vc6.0創建一個項目運行就可以了。
#include <iostream>
using namespace std;
char** split(char p[],char c,int k)
{
int i,m,j;
char **q;
q=(char**)new char*[k];
for(i=0;i<k;i++)
q[i]=(char*)new char*[20];
i=0;
j=0;
m=0;
while(p[i])
{
if(p[i]!=',')
{
q[j][m++]=p[i++];
}
else
{
q[j][m]='\0';
j++;
m=0;
i++;
}
}
q[k-1][m]='\0';
for(i=0;i<4;i++)
{
cout<<q[i];
cout<<endl;
}
return q;
}
void main()
{ int k;
char p[]="ab,cde,efgh,ghi32";
char c=',';
int i=0,j=0,m=0;
while(p[i])
{
if(p[i]==',')
j++;
i++;
}
j=j+1;//接受到底有多少個單詞在分割後通過逗號去判斷
k=j;
char**q=split(p,c,k);
printf("\n");
for(i=0;i<4;i++)
{
cout<<q[i];
cout<<endl;
}
}
⑦ c語言,怎麼把這樣一個字元串"01111100"分割成數組
本來就可以把它當成數組呀, 數組長度是strlen("01111100") 也就是8 .
假如這個字元串的名叫專str, 可能通過str[0] ...str[7] 來訪問這8個元素屬.
不知道你要問的是不是這個意思。
⑧ C 中怎麼把字元串按固定長度分割
#include<stdio.h>
#include<string.h>
intmain(void)
{
chars[100]="1122334455667788 ";
charp[10][10];
char*q=s,tmp;
inti=0,len=strlen(s),intk=4;
while(strlen(q)>k)
{
tmp=q[k];
q[k]='