字符串和数字之间的转换解决方法

字符串和数字之间的转换
由于工作需要,必须实现如下操作,就是把一个很长的字符串转化成一个8个的10进制整形数形式,怎么实现呀?
      比如,输入字符串“0125488965512366853224556366995263356332636560”
当然,输入结果一定可以放在32个字节的10形式整形数中的,这个不用担心。而且字符串的0是有意义的,不能丢!
      我曾想使用atoi,可是这个串实在太长了,不行,小弟已经想了很长时间了,实际上就是把字符串的内容弄成2进制形式,然后村到32字节的一段连续内存里,至于是按照8个int,16个short,32个char都无所谓的,请教了哈。
      项目急用!
      应该说明白了吧!!!


------解决方案--------------------
甚么叫:“转化成一个8个的10进制整形数形式”???
是不是酱紫的?
char *str= "0123456789876543210 ";
int a,b,c;
a=01234567;
b=89876543;
c=210;
------------------
说实话没看懂lz要怎样?
------解决方案--------------------
至于是按照8个int,16个short,32个char都无所谓
÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
就转化为 32 个char 吧:
int i;
char str[80], result[80];
gets(str); //input “0125488965512366853224556366995263356332636560”

for(i=0; i <strlen(str); i++)
result[i] = str[i]- '0 '; //从字符转变为数值

for(i=0; i <strlen(str); i++)
printf( "%d ", result[i]); //%d 输出 整数数值
------解决方案--------------------
LZ的需求不清楚
------解决方案--------------------
楼主这样来解决:你把字符串声明成BYTE类型,然后一个字节如23,可以分为高4位‘2’和低四位‘3’,然按字符串处理如2=‘2’-‘0’,也就是类似bcd码,不知道这一点对楼主有没有帮助:)
------解决方案--------------------
顶,转换成数组存放正解。
for(i=0; i <strlen(str); i++)
result[i] = str[i]- '0 '; //从字符转变为数值

------解决方案--------------------
有现成的库函数,好像叫atoi(),你查查手册
------解决方案--------------------
fengdream(Be an early vegetable bird~~~) (

------解决方案--------------------
{字符串转化成一个8个的10进制整形数形式} 而且还要保证0不去掉。好像不可以吧
------解决方案--------------------
可以用虫子的方法
int i;
char str[80], result[80];
gets(str); //input “0125488965512366853224556366995263356332636560”

for(i=0; i <strlen(str); i++)
result[i] = str[i]- '0 '; //从字符转变为数值

for(i=0; i <strlen(str); i++)
printf( "%d ", result[i]); //%d 输出 整数数值
补充如下:

char str[80], result[80];是否可以改为int result[9];
每一个int存放四位,这样就减少了内存的浪费
int的大小与编译器有关,假设是4
那么32位存储在8个int里就可以,写成9的目的算是扩展位把,或者可以设置成-1作为结束位
数组在内存中是顺序存放的(非物理内存),
-------
当然虫子的方法是正确的,我只是把我的想法写在这里,希望对LZ有所帮助

------解决方案--------------------
自己写一个函数嘛
------解决方案--------------------
char * strTemp = "0125488965512366853224556366995263356332636560 ";
char pstr[80];
sprintf(pstr, "%s ",strTemp);
printf(pstr);