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)来判断。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM