int和char转换的问题

y792845 2006-04-26 10:30:02
比如char a[3]="0123" 其中的字符我想拿出来运算.例如0*100+1*00+2*1000+3*1000 然后把运算得到的值(比如是10),把它转化成char类型(比如b[]="10") ,我应该怎么编程呢?
...全文
210 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoshi0 2006-04-27
  • 打赏
  • 举报
回复
第一点,你定义的数组超界了

问题解:

char a[5] = "0123";
int x = a[0]*100 + a[1]*100 + a[2]*1000 + a[3]*1000;//没有规律,我只能这样写了
AnsiString strData = "";

while (x != 0)
{
strData = IntToStr(x%10) + strData;
x /= 10;
}

char b[100] = {0};
strcpy(b, strData.c_str());//b中存放的就是转换后的字符串
僵哥 2006-04-27
  • 打赏
  • 举报
回复
c里面的兩個函數:
atoi
itoa
easyblue 2006-04-26
  • 打赏
  • 举报
回复
可以参考我的做法:
//please add border check
int sum=0;
for(int i=0;i<stringlength;i++) {
sum+=(a[i]-'0')*1000;
}// end of for loop
//....
AnsiString Result=IntToStr(sum);
sscanf(Result.c_str(),"%s",b);

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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