上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.1.1 复制字符串到指定的数组中stpcpy()
【函数原型】char* stpcpy(char* dest,char* src)
【功能讲解】把src所指的由NULL结束的字符串复制到dest所指的数组中,返回指向dest结尾处字符(NULL)的指针。
【参数说明】dest为目的地址,src为要被复制的字符串地址。src和dest所指内存区域不可以重叠,且dest必须拥有足够的空间放置src包含的字符串。
【程序示例】本例程是验证字符串复制效果,利用复制功能把两个字符串连接成一个完整的字符串,然后输出(使用Turbo C 2.0调试,这个函数没有包含在VC++ 6.0中)。
/*函数stpcpy()示例[请使用Turbo C 2.0调试*/ #include<string.h> int main(void) { char buffer[100];/*定义一个字符数组*/ char* dest = buffer; dest = stpcpy(dest,"You are the best thing that's"); printf("%s\n",buffer);/*格式化*/ dest = stpcpy(dest," ever been mine!"); printf("%s\n",buffer); return 0; }
【运行结果】
You are the best thing that’s You are the best thing that’s ever been mine!
【实例讲解】例子就是简单的字符串的复制,仔细看看代码,是不是发觉有点古怪。首先看第一次复制字符dest = stpcpy(dest,"You are…");,根据函数功能得出这句话是把后面的字符串复制到dest所指向的数组中,且dest指向字符串的结尾处,这样就可以再次利用dest继续往后面添加字符串,而没有覆盖之前的字符串,最后的结果是一个完整的句子。如果自己想试试,可以使用直接输出语句“printf("%s\n",dest);”输出结果应该为空,返回的指针应指向字符的结尾。