请问如何将数值存入字串阵列

Home Home
引用 | 编辑 totsi
2005-04-07 23:54
楼主
推文 x0
请问各位大大...

小弟我目前需将一计算出的数值(int)存到一组字串型态的变数阵列内..

可是翻遍各大参考书.. ..

访客只能看到部份内容,免费 加入会员



献花 x0
引用 | 编辑 唐老鸭
2005-04-08 00:36
1楼
  
这个很简单....
我来回答你
看一下我的程式码.....
复制程式
#include <iostream.h>
#include <stdlib.h>

void main()
{
       int num;
       char str[30];
       
       cin>>num;

       itoa (num,str,10);
    cout<<"decimal: "<<str;
}

利用itoa这个函数就可以了....最后一个参数10是基数....你也可以打16....就会用16进位来表示字串了.... 表情

献花 x0
引用 | 编辑 totsi
2005-04-08 10:11
2楼
  
感谢您的回覆..谢谢..^^m

不过我很好奇ㄟ..
像itoa这函数..在一般的教科书里好像很难找ㄟ..XD
像我用C++ how to program这本就没有了..@@
用google好像keyword也打的不好..所以就找不到..XD

并请问一下...itoa可否指定限定的阵列位置..
我在msdn理找的资料..他好像如同大大写的一样..直接打变数名称而已..
但我的阵列里只有几个指定的空间是要放需转成字串的值..然后其他都是字串..
那..itoa也是能用ㄇ?!

感谢您的回覆..^^m
谢谢 表情

PS.Sorry..刚刚看了一下我的程式..
  我是把一个int array传到另一个 string array..
  所以前面忘了写清楚了..sorry ^^&

献花 x0
引用 | 编辑 唐老鸭
2005-04-08 10:35
3楼
  
下面是引用totsi于2005-04-8 10:11发表的 :
但我的阵列里只有几个指定的空间是要放需转成字串的值..然后其他都是字串..
那..itoa也是能用ㄇ?!
.......

不太懂你这一句说的意思....
是说假设我有一个数123....
然后转成string后.....
那个string还要放别的非数字的字串ㄇ????
itoa的函式他已经是帮你转成字串了阿......
所以其实就是一个"123"字串加上另一个字串了ㄚ....
还是你是别的意思....
不是很懂说????

献花 x0
引用 | 编辑 唐老鸭
2005-04-08 10:39
4楼
  
下面是引用totsi于2005-04-8 10:11发表的 :
感谢您的回覆..谢谢..^^m

不过我很好奇ㄟ..
像itoa这函数..在一般的教科书里好像很难找ㄟ..XD
像我用C++ how to program这本就没有了..@@
.......

我猜你大概是要选择在阵列的哪些位置存放数字对吧....
itoa应该没办法做到....
不过那样的函式你可以自己写.....
不然你就把你的题目PO上来....
否则我不是很清楚你的意思.....

献花 x0
引用 | 编辑 totsi
2005-04-08 11:51
5楼
  
sorry..^^&

我现在有两组阵列
1. int Val[]={1,2,3}
2. string Str[][]={ {"*", "*", " "}, {" ", "*", " "}}

我的题目是一个画Histogram的程式,然后是直式的排列方式..
所以要画图的话只能把图形存到阵列里面...然后再用阵列横向排列画出来..
但是又要在histogram的bar上面加上数值..

所以本身histogram的绘图阵列(Str[][])只能设成字串..
而如果把Val[]传进去的话...他会出现ASCII的图形而不是数字..
所以我就得把Val[]内的值先转成字串再存到Str[][]里面..

所以好像挺麻烦的..

不过谢谢大大您的回答喔..^^m


表情

献花 x0
引用 | 编辑 唐老鸭
2005-04-08 16:26
6楼
  
下面是引用totsi于2005-04-8 11:51发表的 :

所以本身histogram的绘图阵列(Str[][])只能设成字串..
而如果把Val[]传进去的话...他会出现ASCII的图形而不是数字..
所以我就得把Val[]内的值先转成字串再存到Str[][]里面..

所以好像挺麻烦的..

不过谢谢大大您的回答喔..^^m
.......

其实不难.....
这样的话连itoa都可以不用用到....
因为你说到了一个重点.....
他是ASCII CODE....
假如数字是1
你把它存成字元后....
它自然是显示ASCII CODE 1的图形....
那你再想想看字元1的ASCII CODE是多少.....
是49.....
所以当你要存入该字串前....先将该变数加上一句 i=i+48;
再存入就可以了.....
但这样是以你的数字已不超过10为前提.....
超过10就在多几个判断运算就可以了.....
另一个方法就是先用itoa转成字串后....
再用一些处理字串的函数像strcpy,strcat等等.....
一样可以达到你的要求的 表情 ....

献花 x0
引用 | 编辑 唐老鸭
2005-04-08 17:01
7楼
  
我刚才也上去MSDN找了资料.....
所以顺便抓你的给你参考....
你看看itoa的宣告....
char *_itoa( int value, char *string, int radix );

第一个参数是传int....
第二个参数是传指标.....

所以若是用你的题目来传....
你当然可以这样写itoa(Val[x],Str[x],10).....
只要你传入的参数型态是符合的就不会有问题表情.....

献花 x0
引用 | 编辑 totsi
2005-04-08 20:29
8楼
  
感谢大大回覆...

小弟我马上去测试一下...^^m

感谢您...^^m

表情

献花 x0