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

c语言截取字符串中的一部分,第1张

例子如下:

直接编译,程序输出结果中任意输入字符和数字,程序执行结果如下图所示:

扩展资料:

字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。

通常以串的整体作为 *** 作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

用strncpy函数,函数签名

char * strncpy(char *dest, const char *src, size_t n)

比如要是从src第2个字符开始截取3个字符,可以用

strncpy(dest, src + 2 - 1, 3)

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

#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=0i<Li ){

s[n][j]=str[i]j

if (str[i]==',' || str[i]=='\n') {s[n][j-1]='\0'j=0n } // 取出 逗号分隔 开的字符串

}

for (i=0i<ni ) printf("%s\n",s[i]) //输出这些 分开的字符串

j=0

for (i=0i<ni ){

if ( sscanf(s[i],"%lf",&d[j]) == 1) j // 能转换为数的一个一个转换

}

printf("\n=======values========\n")

for (i=0i<ji ) printf("%lf\n",d[i]) // 输出这些数据

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10838138.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存