1. 首页 > 汽车 >

c字符串截取一部分字符串 字符串截取c语言

您好,今天天天来为大家解答以上的问题。c字符串截取一部分字符串相信很多小伙伴还不知道,现在让我们一起来看看吧!

c字符串截取一部分字符串 字符串截取c语言c字符串截取一部分字符串 字符串截取c语言


1、如果提取指定长度的字符串有专门的函数:strncpy(*s1,*s2,n);如果提取字符串中从n开始的m个字符,程序如下:#include#includevoid main(){unsigned int i,j,m,n;char s1[80],s2[80];printf("请输入一个字符串以回车键结束:\n");gets(s1);printf("请输入子串的起始位置和长度:");scanf("%d%d",&n,&m);if(n>0&&n{if (m>0&&n+m{for(i=n-1,j=0;s1[i]&&is2[j]=s1[i];s2[j]='\0';puts(s2);}elseprintf("长度超出范围!\n");elseprintf("起始位置超出范围!\n");}}可改变数组大小,满足你可能的输入状况。

2、#includeint main(){char str[200]; // 假定输入1行字符串,长度在200以内char s[20][16]; // 假定 用逗号分隔 的部分 约20个,每个长度 不超过16字符double d[20]; // 假定数据个数 不超过 20 个int i,j=0,L,n=0;fgets(str,200,stdin); // 读入一行 字符串,含换行符L = strlen(str); //计算输入的字符串长度for (i=0;is[n][j]=str[i]; j++;if (str[i]==',' || str[i]=='\n') {s[n][j-1]='\0'; j=0; n++;} // 取出 逗号分隔 开的字符串}for (i=0;ij=0;for (i=0;iif ( sscanf(s[i],"%lf",&d[j]) == 1) j++; // 能转换为数的一个一个转换}printf("\n=======values========\n");for (i=0;ireturn 0;}可以用strncpy()函数#include char sub[20];strncpy(sub,string+12,13)/*将string中从string[12]开始的13个数字复制到sub中*/假定你已把字符串存于变量char str[]; 现要把第1和第2个双引号之间的字符串取出来,放入 char s[] 里。

3、用 sscanf().程序如下:#include main(){char str[]="+cpbr:1,\"12345678900\",129,\"\"\nok";char s[40];sscanf(str,"%*[^,],\"%[^\"]",s);printf("%s\n",s);return 0;}#include int main(){int i, j, length;char a[] ="hello world";int from, num;scanf("%d",&from); //截取开始的字符下标scanf("%d",&num); //共截取的字符数char b[num];for (length = 0; a[length]!= '\0'; length++){}if (from>=0)if (from+num i = from; j=0;while ( jb[j] = a[i];printf("%c",b[j]);j++; i++;}}return 0;}#include int main(){int i, j, length;char a[] ="hello world";int from, num;scanf("%d",&from); //截取开始的字符下标scanf("%d",&num); //共截取的字符数char b[num];for (length = 0; a[length]!= '\0'; length++){}if (from>=0)if (from+num i = from; j=0;while ( jb[j] = a[i];printf("%c",b[j]);j++; i++;}}return 0;}#includeint main(){char str[]="$GCCGAA,-2345.5,+245,2455,2356,s";int a,b;sscanf(str,"$GCCGAA,%*lf,%d,%d,%*d",&a,&b);//获取中间两个printf("%d %d",a,b);return 0;}。

本文到这结束,希望上面文章对大家有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息