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 收藏 评论
分享
牛客网
牛客企业服务