4.8.3 指针和字符串(3)
strcpy( )函数接受2个参数。第一个是目标地址,第二个是要复制的字符串的地址。您应确定,分配了目标空间,并有足够的空间来存储副本。在这里,我们用strlen( )来确定所需的空间,并使用new获得可用的内存。
通过使用strcpy( )和new,将获得"fox"的两个独立副本:
另外,new在离animal数组很远的地方找到了所需的内存空间。
经常需要将字符串放到数组中。初始化数组时,请使用=运算符;否则应使用strcpy( )或strncpy( )。strcpy( )在前面已经介绍过,其工作原理如下:
|
这样最多将19个字符复制到数组中,然后将最后一个元素设置成空字符。如果该字符串少于19个字符,则strncpy( )将在复制完该字符串之后加上空字符,以标记该字符串的结尾。
警告:应使用strcpy( )或strncpy( ),而不是赋值运算符来将字符串赋给数组。
您对使用C-风格字符串和cstring库的一些方面有了了解后,便可以理解为何使用C++(www.cppentry.com) string类型更为简单了:您不用担心字符串会导致数组越界,并可以使用赋值运算符而不是函数strcpy( )和strncpy( )。
