C语言截取从某位置开始指定长度子字符串方法

C语言中没有从某位置开始指定长度子字符串的函数(还是我没找到?),只有从头开始截取的strncat和strncpy,

以strncpy为例:

char dest[4] = {""};
char src[] = {"123456789"};
strncpy(dest, src, 3);
puts(dest);

输出结果为 123

看到了吗,strcpy函数中的参数是字符串数组的名字,而数组名本质上是指针,那么,src+3 就可以实现将 src中从第4个字符开始复制n个字符给 dest 了

char dest[4] = {""};
char src[] = {"123456789"};
strncpy(dest, src+3, 3);
dest[4] = '\0';              //n<sizeof(src)时,必须有这一句,不然输出出错  
puts(dest);

输出结果为 456


注意:比较两个char*字符串是否相等,if(strcmp(recData,name) == 0)来判断。

阅读更多
个人分类: C++
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

C语言截取从某位置开始指定长度子字符串方法

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭