c++中如何将字符串变量的值赋给字符数组变量
展开全部
我们知道,同类型的变量之间可以相互赋值,但是对于同类型的数组来说,却是个例外。即使类型、元素个数都相同,也不能彼此赋值,要想赋值的唯一办法就是:以数组的元素为单位进行操作。对于您的问题,可以有以下程序解决:
main()
{
string f1="abcd";
char c1[10];
int i=0
for(i=0;i<10;i++)
{
if(f1[i]=='\0')/*检测源数组元素是否为空,YES,执行赋值,NO,退出*/
break;
else
c1[i]=f1[i];
}
}
main()
{
string f1="abcd";
char c1[10];
int i=0
for(i=0;i<10;i++)
{
if(f1[i]=='\0')/*检测源数组元素是否为空,YES,执行赋值,NO,退出*/
break;
else
c1[i]=f1[i];
}
}
展开全部
(1)strcpy(c1,f1.c_str());
(2)memcpy(c1,f1.c_str(),f1.size());
(3)循环赋值
(4)memmove(c1,f1,c_str(),f1.size());
PS:STL string是不能强制类型转化成char*的,只能(char*)f1.c_str()
(2)memcpy(c1,f1.c_str(),f1.size());
(3)循环赋值
(4)memmove(c1,f1,c_str(),f1.size());
PS:STL string是不能强制类型转化成char*的,只能(char*)f1.c_str()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我们知道,同类型的变量之间可以相互赋值,但是对于同类型的数组来说,却是个例外。即使类型、元素个数都相同,也不能彼此赋值,要想赋值的唯一办法就是:以数组的元素为单位进行操作。对于您的问题,可以有以下程序解决:
main()
{
string
f1="abcd";
char
c1[10];
int
i=0
for(i=0;i<10;i++)
{
if(f1[i]=='\0')/*检测源数组元素是否为空,YES,执行赋值,NO,退出*/
break;
else
c1[i]=f1[i];
}
}
main()
{
string
f1="abcd";
char
c1[10];
int
i=0
for(i=0;i<10;i++)
{
if(f1[i]=='\0')/*检测源数组元素是否为空,YES,执行赋值,NO,退出*/
break;
else
c1[i]=f1[i];
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
strcpy(c1,f1.c_str());
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询