一个很简单的问题,但我就是不会。。

636f6c696e 2011-10-25 03:14:54
需求很简单。
原来的代码:LPCSTR a[3] = {"1", "2", "3"};
现在3个已经无法满足需求,改为LPCSTR *a = new LPCSTR[n];
n运行时才能计算出来,我的问题是,如何像原来代码一样给初始值"1" "2" "3" ……
...全文
67 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2011-10-25
  • 打赏
  • 举报
回复
sprintf(a[i],"%d",i+1);
赵4老师 2011-10-25
  • 打赏
  • 举报
回复
strcpy(a[0],"1");
strcpy(a[1],"2");
strcpy(a[2],"3");
或者
LPCSTR **a=new LPCSTR[n];
for (int i=0;i<n;i++) {
a[i]=new char[11];
sprintf(a[i],"%d",i);
}
//...
for (int i=0;i<n;i++) delete a[i];
delete[] a;
636f6c696e 2011-10-25
  • 打赏
  • 举报
回复
我犯2了,谢谢大家回复...
636f6c696e 2011-10-25
  • 打赏
  • 举报
回复
那如果我要赋值的是a1 a2 a3 该怎么写呢?
[Quote=引用 4 楼 cabinls 的回复:]
for ( int i = 0; i < 3; i ++ )
{
a[i] = i + '0';
}
这样就赋值啦~~
[/Quote]
luciferisnotsatan 2011-10-25
  • 打赏
  • 举报
回复
也可以用sprintf
luciferisnotsatan 2011-10-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 colinfang2006 的回复:]

要赋值到"n-1"
引用 1 楼 morebread 的回复:
要是初值少的话可以直接a[0] = "1"……依次类推....
[/Quote]
用个for循环不就行了?itoa 把数字转成字符串
CabinLS 2011-10-25
  • 打赏
  • 举报
回复
for ( int i = 0; i < 3; i ++ )
{
a[i] = i + '0';
}
这样就赋值啦~~
bdmh 2011-10-25
  • 打赏
  • 举报
回复
写个循环赋值吧
636f6c696e 2011-10-25
  • 打赏
  • 举报
回复
要赋值到"n-1"
[Quote=引用 1 楼 morebread 的回复:]
要是初值少的话可以直接a[0] = "1"……依次类推....
[/Quote]
morebread 2011-10-25
  • 打赏
  • 举报
回复
要是初值少的话可以直接a[0] = "1"……依次类推....

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧