#includestdio.h
術(shù)業(yè)有專(zhuān)攻,您咨詢(xún)的再多,也不如我了解的一半多;有責(zé)任心的專(zhuān)業(yè)網(wǎng)站設(shè)計(jì)公司會(huì)做到“客戶(hù)想到的我們要做到,客戶(hù)沒(méi)有想到的我們也要幫客戶(hù)做到“。我們的設(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位置開(kāi)始,截取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è)字符開(kāi)始截取3個(gè)字符,可以用
strncpy(dest, src + 2 - 1, 3);
可改變數(shù)組大小,滿(mǎn)足你可能的輸入狀況。
#includestdio.h
int main(){char str[200]; // 假定輸入1行字符串,長(zhǎng)度在200以?xún)?nèi)char s[20][16]; // 假定 用逗號(hào)分隔的部分約20個(gè)。
每個(gè)長(zhǎng)度 不超過(guò)16字符double d; // 假定數(shù)據(jù)個(gè)數(shù) 不超過(guò) 20 個(gè)int i,j=0,L,n=0;fgets(str,200,stdin)。
// 讀入一行 字符串,含換行符L = strlen(str)。
//計(jì)算輸入的字符串長(zhǎng)度f(wàn)or (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)分隔開(kāi)的字符串}
擴(kuò)展資料:
C語(yǔ)言繼續(xù)發(fā)展,在1982年,很多有識(shí)之士和美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)為了使這個(gè)語(yǔ)言健康地發(fā)展下去,決定成立C標(biāo)準(zhǔn)委員會(huì),建立C語(yǔ)言的標(biāo)準(zhǔn)。委員會(huì)由硬件廠(chǎng)商、編譯器及其他軟件工具生產(chǎn)商、軟件設(shè)計(jì)師、顧問(wèn)、學(xué)術(shù)界人士、C語(yǔ)言作者和應(yīng)用程序員組成。
1989年,ANSI發(fā)布了第一個(gè)完整的C語(yǔ)言標(biāo)準(zhǔn)——ANSI X3.159—1989,簡(jiǎn)稱(chēng)“C89”,不過(guò)人們也習(xí)慣稱(chēng)其為“ANSI C”。
C89在1990年被國(guó)際標(biāo)準(zhǔn)組織ISO(International Standard Organization)一字不改地采納,ISO官方給予的名稱(chēng)為:ISO/IEC 9899,所以ISO/IEC9899: 1990也通常被簡(jiǎn)稱(chēng)為“C90”。
1999年,在做了一些必要的修正和完善后,ISO發(fā)布了新的C語(yǔ)言標(biāo)準(zhǔn),命名為ISO/IEC 9899:1999,簡(jiǎn)稱(chēng)“C99”。在2011年12月8日,ISO又正式發(fā)布了新的標(biāo)準(zhǔn),稱(chēng)為ISO/IEC9899: 2011,簡(jiǎn)稱(chēng)為“C11”。
參考資料來(lái)源:百度百科-c語(yǔ)言
C標(biāo)準(zhǔn)庫(kù)中提供了一個(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è)字符來(lái)分隔字符串
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ù)字符串或字符串組來(lái)截取字符串
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è)字符開(kāi)始的長(zhǎng)度為j的字符串;
string str = "GTAZB_JiangjBen_123";
int start=3,length=8;
Console.WriteLine(str.Substring(start-1, length));
這個(gè)你只能寫(xiě)個(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類(lèi)型的數(shù)組
}
當(dāng)前文章:c語(yǔ)言左邊截取字符串函數(shù) c語(yǔ)言截取字符串
URL地址:http://muchs.cn/article36/dossopg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、網(wǎng)站導(dǎo)航、網(wǎng)站策劃、全網(wǎng)營(yíng)銷(xiāo)推廣、外貿(mào)建站、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容