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; }
输出: