可以用strcpy函数将字符串拷贝到字符数组中吗?

如题所述

可以。

#include <iostream>

#include <string>

int main()

{

char name1[20] = "吃了没?世界";

std::string name2 =  "吃了" ;

strcpy_s(name1, name2.size()+1, name2.c_str());//这个改成name2.c_str(),name2是知string类型,不是char*

std::cout << name1 << std::endl;

std::cin.get();

return 0;

}

扩展资料:

已知strcpy函数的原型是:

char * strcpy(char * strDest,const char * strSrc);

1、不调用库函数,实现strcpy函数。

2、解释为什么要返回char *。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-01
不可以.你是不是说string?
你说的字符串是C字符串还是C++字符串,把名字描述清楚,别人才能给你更详细的答案

好吧,既然如此,我把两种答案都给你.
如果你指的字符串是C字符串,那么答应是可以的.
比如
char ch1[]="abcde";//C字符串
char ch2[10];//数组
strcpy(ch2,ch1);//编译是通过的,不过ch2会从数组变成字符串.因为strcpy会在数组最后加'\0'标记.
如果你所说的字符串是string也就是c++字符串,那么答应是不可以的
你可以先使用string的c_str()函数将string换为c形字符串再复制.本回答被网友采纳
第2个回答  2011-12-26
可以,给你一个例子:

#include<stdio.h>
#include<string.h>

void main()
{
char str[20]={NULL};

strcpy(str,"1234567890");
printf("%s\n",str);
}
第3个回答  推荐于2017-11-24
当然可以本回答被提问者采纳
相似回答