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

c语言标准库没有截取部分字符串的函数,为啥?因为用现有函数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)来判断。

posted @ 2019-04-05 06:49  立体风  阅读(22900)  评论(0编辑  收藏  举报