若是容許使用庫函數,那麼實際這個很是簡單:html
#include <stdio.h>數組
void parse_str(char *str) char *s = NULL, *p;ide
if(str[0] != 's' || str[1] != '!') 函數
return;指針
s=strp(str+2);htm
p = strtok(s, ":");對象
while(p)索引
{字符串
printf("%s\n", p);原型
p = strtok(NULL, ":");
}
free(s);
C 語言中怎麼截取字符串的一部分
用memcpy函數。如memcpy(x,y+3,4);*(x+5)='\0';,這樣就把字符串y中的下標爲3的字符開始的連續4個字符拷貝到了x,而後*(x+5)='\0';在4個字符後補一個'\0'構成字符串。
c語言中字符串的截取
char*p=「/home/c/aa.txt」;
char*q;
q=strrstr(p,"/");
q++;
q=NULL;
p此時就截取文件路徑了。
c語言截取字符串其中一部分。
假定你已把字符串存於變量charstr[];現要把第1和第2個雙引號之間的字符串取出來,放入chars[]裏。
用sscanf().
程序以下:
#include<stdio.h>
main()charstr[]="+cpbr:1,\"\",,\"\"\nok";
chars[40];
sscanf(str,"%*[^,],\"%[^\"]",s);
printf("%s\n",s);
return0;
c語言,怎樣截取一個字符串的最後一個字符?
這個原型聲明沒有問題,傳遞進去一個字符串,起始字符的位置,以及截取的長度。按照這個意思
來寫最後是沒有問題的。返回值爲字符型指針能夠在這個函數裏面聲明一個字符數組,最後將這個
字符數組返回。
#include"stdio.h"
#include"string.h"
main()char*p="abcdefg";
intlen=strlen(p);
char*t=&p[len-1];
printf("%c\n",*t);
C 語言中怎麼截取字符串的一部分?
提取子串和字符串鏈接
題取子串的函數是:substr(),形式以下:
s.substr();//返回s的所有內容
s.substr(11);//從索引11日後的子串
s.substr(5,6);//從索引5開始6個字符
搜索與查找
查找函數不少,功能也很強大,包括了:
find()
rfind()
find_first_of()
find_last_of()
find_first_not_of()
find_last_not_of()
這些函數返回符合搜索條件的字符區間內的第一個字符的索引,沒找到目標就返回npos。全部的函數的參數說明以下:
第一個參數是被搜尋的對象。第二個參數(無關緊要)指出string內的搜尋起點索引,第三個參數(無關緊要)指出搜尋的字符個數。比較簡單,很少說不理解的能夠向我提出,我再仔細的解答。固然,更增強大的STL搜尋在後面會有說起。
最後再說說npos的含義,string::npos的類型是string::size_type,因此,一旦須要把一個索引與npos相比,這個索引值必須是string::size)type類型的,更多的狀況下,咱們能夠直接把函數和npos進行比較(如:if(s.find("jia")==string::npos))。
固然你能夠本身寫函數實現,能夠用數組也能夠用指針,看你本身的編寫愛好了,你能夠參考:
http://..com/question/.html?an=0&si=1
我就是從這裏複製給你的,由於實在可貴打字了,C和C++函數相似。