strncpy和strncat

  • 函数原型:strncpy( char str1[ ] , char str2[ ] , int n );
  • 作用:拷贝ch2起始位置后n个字符赋给ch1。
    下面一些注意事项:
    //n小于ch2.size()时,
    #include<bits/stdc++.h>
    using namespace std; 
    int main()
    {
       char ch1[10] = "abcd";  
       char ch2[] = "efgh";
      strncpy(ch1,ch2,3);
      cout<<"ch1="<<ch1<<endl;
    } 
  • 输出:

图片说明

注意到如果n的值小于ch1的长度那么strncpy不会自动拷贝后加上'\0';

  • n大于ch2.size()时
    #include<bits/stdc++.h>
    using namespace std; 
    int main()
    {
      char ch1[10] = "abcd"; 
      char ch2[] = "efgh";
      strncpy(ch1,ch2,8);    
      cout<<"ch1="<<ch1<<endl;
    } 
  • 输出:
    图片说明
    注意如果n的值大于ch1的长度那么strncpy等价于strcpy( ch1, ch2 );
  • 函数原型 strncat(char ch1[ ] , char ch2 [ ] , int n );
  • 作用:将ch2前n个字符拷贝到ch1末尾并自动补上'\0';
    #include<bits/stdc++.h>
    using namespace std; 
    int main()
    {
      char ch1[10] = "abcd"; 
      char ch2[] = "efgh";
      strncat(ch1,ch2,3);    
      cout<<"ch1="<<ch1<<endl;
    } 
    输出:
    图片说明
全部评论

相关推荐

赛博小保安:不行你就找点东西继续干干直接等明年走社招吧,学历差的在秋招真的没戏。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务