❶ 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]='