C 语言中怎么截取字符串的一部分

如题所述

可改变数组大小,满足你可能的输入状况。

#include<stdio.h>
int 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;i<L;i ){
s[n][j]=str[i]; j ;
if (str[i]==',' || str[i]=='\n') {s[n][j-1]='\0'; j=0; n ;} // 取出 逗号分隔 开的字符串
}
for (i=0;i<n;i ) printf("%s\n",s[i]); //输出这些 分开的字符串

j=0;
for (i=0;i<n;i ){
if ( sscanf(s[i],"%lf",&d[j]) == 1) j ; // 能转换为数的一个一个转换
}
printf("\n=======values========\n");
for (i=0;i<j;i ) printf("%lf\n",d[i]); // 输出这些数据

return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-04-13
用memcpy函数。如memcpy(x,y+3,4);*(x+5)='\0';,这样就把字符串y中的下标为3的字符开始的连续4个字符拷贝到了x,然后*(x+5)='\0';在4个字符后补一个'\0'构成字符串。
第2个回答  2014-11-03
snprintf 你会需要用到这个函数的本回答被提问者和网友采纳

c语言截取字符串其中一部分。
1. 目标字符串:这是你想要存放截取部分的字符串的变量。2. 源字符串:这是原始字符串,即你要从中截取的字符串。3. 截取长度:这是你想要从源字符串中截取的字符合数。例如,假设有以下代码片段:c char original_string[] = "Hello, World!";char part_string[10]; \/\/ 用于存放截取部分的数...

c语言中怎样截取字符串
1. 使用Substring方法:Substring是最直接的方式用来截取字符串的一部分。它可以接收一个或两个参数,分别代表起始位置和截取长度,或者仅指定起始位置截取到字符串末尾。例如:csharp string originalString = "Hello World!";string subString = originalString.Substring; \/\/ 从位置0开始,截取长度为5的子...

c语言如何截取字符串的一部分
用strncpy函数,函数签名 char * strncpy(char *dest, const char *src, size_t n);比如要是从src第2个字符开始截取3个字符,可以用 strncpy(dest, src + 2 - 1, 3);

c语言如何截取字符串?
1、首先我们打开编程软件主界面,点击界面上方菜单栏里的文件选项,再点击新建目录下的项目选项。2、然后我们选择控制台应用程序选项,再进行命名为字符串的截取Substring,再点击确定即可。3、然后系统会自动生成代码。4、先写一个字符串用于截取测试。5、使用Substring()截取our 从第11个字符串开始截取截取...

C 语言中怎么截取字符串的一部分
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 = strle...

c语言怎样截取字符串
今天小编给大家带来的是c语言怎样截取字符串,希望能帮助到大家!直接给大家代码吧: #includestdio.h #includestring.h #includectype.h voidprint(chars[],intn,intm) { intk; inti; char*p; k=strlen(s); p=s;for(i=n-1;in-1+m;i++)\/\/从第n-1位置开始,截取m个字符 putchar(*(...

C语言如何实现取字符串的一部分?
例子如下:直接编译,程序输出结果中任意输入字符串和数字,程序执行结果如下图所示:

c语言中怎么截取中间的字符?
可以用memcpy(),如下面代码:char s="abcdefg";char str[4]={0};我们要截取"def"则可以这样:memcpy(str,s+3,3);用法就是memcpy(缓冲区,字符串第n个元素,截取长度m);

如何用C语言实现一个字符串的截取
char* SubStr(const char* p, char* pend, int pos, int end = 0)\/\/end参数是为了判断是否截取一段{ int j = 0; int len = strlen(p); if (pos > len || pos < 0) return 0; if (end == 0) { for (int i = pos; i < len; i++) { pend[j] = p[i]; ...

c语言截取字符串中的一部分
C语言中,截取字符串的一部分是一个常见的操作。比如,当我们输入一个字符串和一个数字,程序可以通过特定的方法提取出指定位置或长度的部分。字符串,作为由数字、字母和下划线组成的字符序列,如 "a1a2...an",在编程中常用于表示文本数据。处理字符串时,关注的焦点在于对字符串进行操作,如查找子串...

相似回答