如何将一个表示字符串的变量赋给另一个表示字符串的变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将一个表示字符串的变量赋给另一个表示字符串的变量相关的知识,希望对你有一定的参考价值。

菜鸟,也不知道提问的对不对。比如有,m_database和databasename两个string类型的变量,m_database的值是变的,现在想把m_database的值赋给databasename。网上说用strcpy函数。于是写了下面一段代码

char p[]="dlg.m_database";
strcpy("databasename",p);

运行的时候会崩溃。请问怎么修改呢,需要把m_database和databasename定义为char数组型么?

strcpy("databasename",p);中databasename要也是char型数组才能传值。。但定义成数组还是指针就随便你了。。 参考技术A char p[]="dlg.m_database";
char databasename[20];
strcpy(databasename,p);追问

现在不崩溃了,但是传不了值,假设m_database的值为“ABC”,但是最后databasename的值是“dlg.m_database”

追答

m_database是字符串的一部分啊,难道你这里是个变量?看你的说话,变量名和变量值你还没搞清楚。

追问

我是菜鸟,, m_database是变量名,可能是任何字符串,dlg是一个对象,现在要把m_database里面的值传给databasename。我知道赋值应该写成char p[]=dlg.m_database这样,但是这么写有错误,我就不知道怎么整了。

追答

char p[10];
char databasename[20];
memcpy(p,dlg.m_database,10);
strcpy(databasename,p);

本回答被提问者和网友采纳

以上是关于如何将一个表示字符串的变量赋给另一个表示字符串的变量的主要内容,如果未能解决你的问题,请参考以下文章

数组里元素里有两个值怎么表示

C++中string和char字符串的异同与使用方法

将字符串变量分配给unsigned char变量

VC中如何将一个二维数组的值赋给另一个二维数组?只能用一行。

C语言程序设计 指针变量赋值

c语言结构体能否整体赋值