您当前的位置:首页 > 计算机 > 编程开发 > C语言

C语言stpcpy()函数:将字符串复制到数组

时间:12-30来源:作者:点击数:

头文件:#include <stdio.h>

stpcpy() 函数用于将字符串复制到数组,其原型为:
    char *stpcpy(char *dest,char *src);

【参数】dest 为目标数组指针,src 为源字符串指针。

注意:src 和 dest 所指的内存区域不能重叠,且 dest 必须有足够的空间放置 src 所包含的字符串。

【返回值】成功执行后返回目标数组指针 dest。

stpcpy() 把src所指的由NULL结束的字符串复制到dest 所指的数组中,返回指向 dest 结尾处字符(NULL)的指针。

注意:stpcpy() 不是标准函数,VC++6.0不包含它,请使用Turbo C 2.0 编译下面的代码。

【实例】下面的代码将验证字符串复制效果,利用复制功能把两个字符串连接成一个完整的字符串然后输出。

#include <stdio.h>
#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 the best thing that's");,根据函数功能得出这句话是把后面的字符串复制到 dest 所指向的数组中,且dest指向字符串的结尾处,这样就可以再次利用dest继续往后面添加字符串,而没有覆盖之前的字符串, 最后的结果是一个完整的句子。如果自己想试试,可以使用直接 输出语句“printf("%s\n”, dest);”,输出结果应该为空,返回的指针应指向字符的结尾。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门