❶ c語言 在知道兩段字元串的情況下截取中間的字元串
先用strcat拼接好兩個子串,然後再用left方式截取。
C語言中拼接字元串可以使用strcat函數。
1、strcat()函數 ,即string catenate的縮寫
原型:extern char *strcat(char *dest,char *src);
用法:#include <string.h>
功能:把src所指字元串添加到dest結尾處(覆蓋dest結尾處的'\0')並添加'\0'。
說明:src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字元串。
返回指向dest的指針。
2、舉例:
#include <stdio.h>
#include <string.h>
int main(){
char d[20]="字元串1"; //第一個字元串
char *s=" 字元串2"; //第二個字元串
strcat(d,s); //拼接兩個字元串,結果保存在第一個字元串當中
printf("%s",d); //輸出拼接結果:"字元串1字元串2"
getchar();
return 0;
}
3、c語言截取字元串方法:
#include <stdio.h>
#include <string.h>
/*從字元串的左邊截取n個字元*/
char * left(char *dst,char *src, int n)
{
char *p = src;
char *q = dst;
int len = strlen(src);
if(n>len) n = len;
/*p += (len-n);*/ /*從右邊第n個字元開始*/
while(n--) *(q++) = *(p++);
*(q++)='\0'; /*有必要嗎?很有必要*/
return dst;
}
❷ C語言。截取字元串
#include<stdio.h>
#include<string.h>
#include<ctype.h>
voidprint(chars[],intn,intm)
{
intk;
inti;
char*p;
k=strlen(s);
p=s;
for(i=n-1;i<n-1+m;i++)//從第n-1位置開始,截取m個字元
putchar(*(p+i));
printf(" ");
}
voidmain()
{
char*s,str[20];
intm,n;
printf("pleaseinputastring: ");
s=str;
gets(s);
printf("thestringis:");
puts(s);
printf("pleaseinputnandm ");
scanf("%d%d",&n,&m);
print(s,n,m);
}
❸ C語言截取指定字元串
可改變數組大小,滿足你可能的輸入狀況。
#include<stdio.h>
int main(){char str[200]; // 假定輸入1行字元串,長度在200以內char s[20][16]; // 假定 用逗號分隔的部分約20個。
每個長度 不超過16字元double d; // 假定數據個數 不超過 20 個int i,j=0,L,n=0;fgets(str,200,stdin)。
// 讀入一行 字元串,含換行符L = strlen(str)。
//計算輸入的字元串長度for (i=0;i<L;i++){s[n][j]=str[i]; j++;if (str[i]==',' || str[i]==' ') {s[n][j-1]='