#includestdio.h
術(shù)業(yè)有專攻,您咨詢的再多,也不如我了解的一半多;有責(zé)任心的專業(yè)網(wǎng)站設(shè)計(jì)公司會(huì)做到“客戶想到的我們要做到,客戶沒有想到的我們也要幫客戶做到“。我們的設(shè)計(jì)師是5年以上的設(shè)計(jì)師,我們不僅僅會(huì)設(shè)計(jì)網(wǎng)站,更會(huì)策劃網(wǎng)站。
#includestring.h
#includectype.h
void?print(char?s[],int?n,int?m)
{
int?k;
int?i;
char?*p;
k=strlen(s);
p?=?s;
for(i=n-1;in-1+m;i++)//從第n-1位置開始,截取m個(gè)字符
putchar(*(p+i));
printf("\n");
}
void?main()
{
char?*s,str[20];
int?m,n;
printf("please?input?a?string:\n");
s?=?str;
gets(s);
printf("the?string?is:");
puts(s);
printf("please?input?n?and?m\n");
scanf("%d%d",n,m);
print(s,n,m);
}
用strncpy函數(shù),函數(shù)簽名
char * strncpy(char *dest, const char *src, size_t n);
比如要是從src第2個(gè)字符開始截取3個(gè)字符,可以用
strncpy(dest, src + 2 - 1, 3);
可改變數(shù)組大小,滿足你可能的輸入狀況。
#includestdio.h
int main(){char str[200]; // 假定輸入1行字符串,長度在200以內(nèi)char s[20][16]; // 假定 用逗號(hào)分隔的部分約20個(gè)。
每個(gè)長度 不超過16字符double d; // 假定數(shù)據(jù)個(gè)數(shù) 不超過 20 個(gè)int i,j=0,L,n=0;fgets(str,200,stdin)。
// 讀入一行 字符串,含換行符L = strlen(str)。
//計(jì)算輸入的字符串長度for (i=0;iL;i++){s[n][j]=str[i]; j++;if (str[i]==',' || str[i]=='\n') {s[n][j-1]='\0'; j=0; n++;} // 取出逗號(hào)分隔開的字符串}
擴(kuò)展資料:
C語言繼續(xù)發(fā)展,在1982年,很多有識(shí)之士和美國國家標(biāo)準(zhǔn)協(xié)會(huì)為了使這個(gè)語言健康地發(fā)展下去,決定成立C標(biāo)準(zhǔn)委員會(huì),建立C語言的標(biāo)準(zhǔn)。委員會(huì)由硬件廠商、編譯器及其他軟件工具生產(chǎn)商、軟件設(shè)計(jì)師、顧問、學(xué)術(shù)界人士、C語言作者和應(yīng)用程序員組成。
1989年,ANSI發(fā)布了第一個(gè)完整的C語言標(biāo)準(zhǔn)——ANSI X3.159—1989,簡稱“C89”,不過人們也習(xí)慣稱其為“ANSI C”。
C89在1990年被國際標(biāo)準(zhǔn)組織ISO(International Standard Organization)一字不改地采納,ISO官方給予的名稱為:ISO/IEC 9899,所以ISO/IEC9899: 1990也通常被簡稱為“C90”。
1999年,在做了一些必要的修正和完善后,ISO發(fā)布了新的C語言標(biāo)準(zhǔn),命名為ISO/IEC 9899:1999,簡稱“C99”。在2011年12月8日,ISO又正式發(fā)布了新的標(biāo)準(zhǔn),稱為ISO/IEC9899: 2011,簡稱為“C11”。
參考資料來源:百度百科-c語言
C標(biāo)準(zhǔn)庫中提供了一個(gè)字符串分割函數(shù)strtok();
實(shí)現(xiàn)代碼如下:
#include?stdio.h
#include?string.h
#define?MAXSIZE?1024
int?main(int?argc,?char?*?argv[])
{
char?dates[MAXSIZE]?=?"$GPGGA,045950.00,A,3958.46258,N,11620.55662,E,0.115,,070511,,,A*76?";
char?*delim?=?",";
char?*p;
printf("%s??",strtok(dates,delim));
while(p?=?strtok(NULL,delim))
{
printf("%s??",p);
}
printf("\n");
return?0;
}
運(yùn)行結(jié)果截圖如下:
根據(jù)單個(gè)分隔字符用split截取
string st="GT123_1";
string[] sArray=st.split("_");
即可得到sArray[0]="GT123",sArray[1]="1";
2.利用多個(gè)字符來分隔字符串
tring str = "GTAZB_JiangjBen_123";
string[] sArray = str.Split(new char[2] { 'j', '_' });
foreach(string e in sArray)
{
Console.WriteLine(e);
}
得到sArray[0]="GTAZB",sArray[1]="Jiang",sArray[2]="Ben",sArray[3]="123";
3根據(jù)字符串或字符串組來截取字符串
string str = "GTAZB_JiangjBen_123";
string[] sArray = str.Split( new string[]{"Ji","jB"}, StringSplitOptions.RemoveEmptyEntries);
foreach(string e in sArray)
{
Console.WriteLine(e);
}
得到sArray[0]="GTAZB_",sArray[1]="ang",sArray[2]="en_123";
4提取字符串中的第i個(gè)字符開始的長度為j的字符串;
string str = "GTAZB_JiangjBen_123";
int start=3,length=8;
Console.WriteLine(str.Substring(start-1, length));
這個(gè)你只能寫個(gè)循環(huán)自己判斷了,示例代碼如下
char?str[]?=?"1,2,3,4,4,5";
int?num[10];
int?index?=?0;
int?i;
for(i=0;istrlen(str);i++)
{
if(str[i]='0'??str[i]='9')????????//如果是字符?0-9
num[index++]?=?str[i]?-?'0';????????//字符轉(zhuǎn)換為數(shù)字,放到int類型的數(shù)組
}
當(dāng)前文章:c語言左邊截取字符串函數(shù) c語言截取字符串
URL地址:http://jinyejixie.com/article36/dossopg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、網(wǎng)站導(dǎo)航、網(wǎng)站策劃、全網(wǎng)營銷推廣、外貿(mào)建站、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)