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  
puts(dest);

输出结果为 456


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

你可能感兴趣的:(C++)