字符数组拷贝函数(二)

来源:互联网 发布:无线通信d2d算法工程师 编辑:程序博客网 时间:2024/06/05 22:32

1、限制将一个字符串拷贝至字符数组内

      常用的字符串拷贝函数有strcpy,strncpy,通常将一个字符串拷贝至另一个char*内,无法保证其是一个字符指针还是字符数组指针。比如:

char ch = 'C';char chArr[] = "C++";char *p = &ch;char *p1 = chArr;
      程序无法确定p和p1代表的一个字符的指针,还是字符串的指针,无疑增加了程序不确定性。C++中可以通过数组的引用来保证拷贝到一个字符数组内。

2、函数原型之数组引用
strcpy函数原型(二)

template <size_t size>char *strcpy(   char (&strDestination)[size],   const char *strSource ); // C++ only
template <size_t size> 详见 >> 参数模板

strcpy_s函数原型(二)

template <size_t size>errno_t strcpy_s(   char (&strDestination)[size],   const char *strSource ); // C++ only

3、举例
      分别利用上述二个函数将一个字符串拷贝至一个字符数组内。
strcpy version:

int main(){char destString[80];strcpy(destString,"Copy from a string to an array of character!");cout<<destString<<endl;return 0;}
strcpy_s version:

int main(){char destString[80];strcpy_s(destString,"Copy from a string to an array of character!");cout<<destString<<endl;return 0;}

4、参考

      [1] strcpy 函数原型

      [2] strcpy_s函数原型

原创粉丝点击