c語言字符串數組分離,c語言數組分割

本文目錄一覽:

c語言如何從字符串數組中分離處單個字符

c語言的話,本質上來說是沒有字符串數組這概念,字符串數組就是單個字符串起來,就是說定義的時候已經分成單個字符,不用再去分離

例如,定義一個char *str = “asdf”;那麼str[0],str[1],str[2],str[3]就會分別對應asdf

如果你是要分割char *str = “a,b,c,d”,這種類型的字符串,你可以用strtok這個函數

如何用c語言分離字符串中的字母和數字並分別輸出?

把字符串存放到數組裏面,一個一個比對(循環)後輸出

判斷數字:

for (i=0;in;i++){

if ((p[i]=’0′) (p[i]=’9′))

printf();

判斷字母:

for (i=0;in;i++){

if ((p[i]=’a’) (p[i]=’Z’))

printf();

擴展資料:

通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字符串相等的充要條件是:長度相等,並且各個對應位置上的字符都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。

參考資料來源:百度百科-字符串

C語言有沒有把字符串拆分為數組的函數?

直接用簡單的C++

#include iostream

#include string

#include vector

using namespace std;

//把字符串s按照字符串c進行切分得到vector_v 

vectorstring split(const string s, const string c){

vectorstring v;

int pos1=0,pos2;

while((pos2=s.find(c,pos1))!=-1){

v.push_back(s.substr(pos1, pos2-pos1));

     pos1 = pos2 + c.size();

   }

if(pos1 != s.length())

     v.push_back(s.substr(pos1));

return v;

}

int main()

{

string input=”張三$|男$|濟南$|大專學歷$|”;

vectorstring  myArray=split(input,”$|”);

for(int i=0;imyArray.size();i++){

coutmyArray[i]endl;

}

}

/*

張三

濟南

大專學歷

*/

c語言分離字符串

/************************************************************************/

/* 21chenxb’ work

2010-6-26

VC++6.0

C加加愛好者團

/************************************************************************/

#include stdio.h

void main()

{

char a[]=”$GPGGA,003235.000,2247.2020,N,11353.5878,E,1,04,2.2,104.8,M,-3.3,M,,0000*4B”;

char b[14][100];

int i=0;

int j=0;

int k=0;

while (a[i])

{

if (a[i]!=’,’)

{

b[j][k]=a[i];

k++;

}

else

{

b[j][k]=0;

j++;

k=0;

}

i++;

}

//輸出測試

for(int m=0;m14;m++)

{

printf(“%s\n”,b[m]);

}

}

時間有限,這個程序的比較死板。但是完全達到你問題中的目標。

C語言 寫一個把一個字符串分成若干個數組

void * Split(const  char * pString ,int length)

{

 char * ptr=NULL;

 int rows;//一組等寬字符串可以看做二維數組的一行,定義行數

 const char *pSrc=pString;//取原地址作為源指針

 char *pTag;//目標指針

 //分割長度小於等於0,或指針無效時,返回空指針。

 if (pString  length0 )

 {

  int len=strlen(pString);

  int cols;//列數

  rows=len/length;//字符串總長除以列數

  if (len%length0)rows++;//如果餘數非0,則行數加一

  ptr=new char[rows*(length+1)];//創建足夠的空間

  pTag=ptr;//初始化目標指針

  while (*pSrc!=’\0′)//源指針指向的值如果有效則循環

  {

   cols=strlen(pSrc);//取原指針開始的字符串長度

   if (colslength)cols=length;//如果大於分割長度則修正,否則即為餘數,就是最後一行的列數

   memcpy(pTag,pSrc,cols);//複製

   pTag+=length;//目標指針遞增一個列寬(行寬度)

   *pTag=’\0′;//填寫結束符

   pTag++;//增補一個地址

   pSrc+=cols;//源指針遞增一個列寬(行寬度)

  }

 }

 return ptr;

}

//主函數 

int _tmain(int argc, _TCHAR* argv[])

{

 char *str=”abcdefghijklmn”;

 char (*p)[4];

 p=(char (*)[4])Split(str,3);

 coutp[1]endl;

getchar();

 return 0;

}

C語言中輸入字符串,裏面有空格,怎麼根據空格把字符串分開,並存在數組裡?

程序源碼如下:

#includestdio.h

#includestring.h

int main(void)

{

char str[1000];//定義一個字符串數組

char strnew[1000];//定義一個備用字符串數組

char m[] = ” “;//定義空格變量

printf(“請輸入一串字符:”);//文字提示輸入字符串

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

char *p = strtok(str,m);//取str與m的指針

printf(“%s\n”,p);  //輸出

p = strtok(NULL,m);

while(p)  //遍歷輸出

{    

printf(“%s\n”,p); //輸出字符串

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

}

}

程序輸出結果:

擴展資料:

C語言:輸入一個字符串放入數組裡,刪除其中的空格

#include stdio.h

#includestring.h

#define N 100

void main()                   

{

int i=0,j;

char c,str[N];

printf(“輸入字符串str:\n”);

while((c=getchar())!=’\n’)

{

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

i++;

}

str[i]=’\0′;

for(i=0;str[i]!=’\0′;i++)

{

if(str[i]==’ ‘)

{

for(j=i+1;str[j]!=’\0′;j++)

{

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

}

str[j]=’\0′;

}

else continue;

}

str[i-2]=’\0′;

printf(“去掉空格後的字符串為:\n”);

for(i=0;str[i]!=’\0′;i++)

printf(“%c”,str[i]);

printf(“\n”);

}

原創文章,作者:BRHH,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/143709.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
BRHH的頭像BRHH
上一篇 2024-10-22 23:35
下一篇 2024-10-24 15:25

相關推薦

  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python導入數組

    本文將為您詳細闡述Python導入數組的方法、優勢、適用場景等方面,並附上代碼示例。 一、numpy庫的使用 numpy是Python中一個強大的數學庫,其中提供了非常豐富的數學函…

    編程 2025-04-29
  • Python中將字符串轉化為浮點數

    本文將介紹在Python中將字符串轉化為浮點數的常用方法。在介紹方法之前,我們先來思考一下這個問題應該如何解決。 一、eval函數 在Python中,最簡單、最常用的將字符串轉化為…

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python學習筆記:去除字符串最後一個字符的方法

    本文將從多個方面詳細闡述如何通過Python去除字符串最後一個字符,包括使用切片、pop()、刪除、替換等方法來實現。 一、字符串切片 在Python中,可以通過字符串切片的方式來…

    編程 2025-04-29
  • Python去掉數組的中括號

    在Python中,被中括號包裹的數據結構是列表,列表是Python中非常常見的數據類型之一。但是,有些時候我們需要將列表展開成一維的數組,並且去掉中括號。本文將為大家詳細介紹如何用…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29

發表回復

登錄後才能評論