社区
C语言
帖子详情
求一段将long类型数据转换为字符串的经典函数
doublesword
2004-03-16 06:03:33
要求:
将long类型数据按字节存到一个字符串从指定位置的连续4个单元中。
比如
将 9×256×256×256 + 154×256×256 + 87×256 +56 存到字符串temp的第5个单元开始的连续4个单元中
也就是存贮以后的结果是这样的:
temp[4] = 9;
temp[5] = 154;
temp[4] = 87;
temp[4] = 56;
...全文
188
17
打赏
收藏
求一段将long类型数据转换为字符串的经典函数
要求: 将long类型数据按字节存到一个字符串从指定位置的连续4个单元中。 比如 将 9×256×256×256 + 154×256×256 + 87×256 +56 存到字符串temp的第5个单元开始的连续4个单元中 也就是存贮以后的结果是这样的: temp[4] = 9; temp[5] = 154; temp[4] = 87; temp[4] = 56;
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liao2001
2004-03-17
打赏
举报
回复
不要动不动就来什么经典
oyd
2004-03-17
打赏
举报
回复
没意思
ymbymb
2004-03-17
打赏
举报
回复
如果用函数的话:
void change(long data, char *pBuf, int pos)
{
for(int i = 0; i < 4; i++)
{
pBuf[i + pos] = (data >> (24 - i * 8)) & 0xff;
}
}
ymbymb
2004-03-17
打赏
举报
回复
太简单了
long data = 9×256×256×256 + 154×256×256 + 87×256 +56;
for(int i = 0; i < 3; i++)
{
temp[i + 4] = (data >> (24 - i * 8)) & 0xff;
}
doublesword
2004-03-17
打赏
举报
回复
其实这也是我去面试的一道题,我觉得挺有实际意义,真的要写好这个函数,其实也不简单。不要小看哦:)
doublesword
2004-03-16
打赏
举报
回复
请大家严格地按照函数的写法,把函数的参数和返回值都写清楚,我想这里,插入到字符串的什么位置应该是有一个参数来表示的。
newegg2002
2004-03-16
打赏
举报
回复
有点不大明白..
想一想
代码之诗
2004-03-16
打赏
举报
回复
flyingbugs(网际.神经病.心情很遭)
说得是。在 INTEL 的CPU上是不对的。不过这样的话就得考虑不同平台的情况了……那就还有long 到底是多少位的问题了。
想着想着脑袋就破了,白白的浆糊流了一地! :)
flyingbugs
2004-03-16
打赏
举报
回复
Hotman_x(小人) :
你的不对
没有考虑字节序的问题
yuanlei1978113
2004-03-16
打赏
举报
回复
char buf[100];
sprintf(buf, "%ld", longNumber);
代码之诗
2004-03-16
打赏
举报
回复
难道是……如果我理解没错,未免有点太简单了。
void Long2Char(long l, char c[])
{
memcpy(c, (void*)(&l), sizeof(long));
}
sharkhuang
2004-03-16
打赏
举报
回复
itoa
flyingbugs
2004-03-16
打赏
举报
回复
str2[sizeof(long)-i-1] = (unsigned char)(src>>8*i);
让强制转换自己来截取。
flyingbugs
2004-03-16
打赏
举报
回复
void long2str( long src, char * str )
{
int i;
unsigned char * str2=str;
for(i=0; i<sizeof(long); i++)
{
str2[sizeof(long)-i-1] = (unsigned char)(src>>8*i);
}
}
flyingbugs
2004-03-16
打赏
举报
回复
没看懂什么意思
Quain
2004-03-16
打赏
举报
回复
temp[4]=(char)((9×256×256×256 + 154×256×256 + 87×256 +56)/256*256*256);
是这个意思吗?
剩下的以此类推
doublesword
2004-03-16
打赏
举报
回复
要求:
将long类型数据按字节存到一个字符串从指定位置的连续4个单元中。
比如
将 9×256×256×256 + 154×256×256 + 87×256 +56 存到字符串temp的第5个单元开始的连续4个单元中
也就是存贮以后的结果是这样的:
temp[4] = 9;
temp[5] = 154;
temp[6] = 87;
temp[7] = 56;
Unity常用基础
数据
类型
sbyte、byte、short、ushort、int、uint、
long
、u
long
8个是整数,他们之间的区别就是表示氛围不一样,而对于范围不一样的根本原因是
类型
在内存中的存储不同。
题目:请写
一段
将正整数转化为四进制
字符串
的
函数
(十进制正整数转四进制
字符串
)
题目:请写
一段
将正整数装换为四进制
字符串
的
函数
,
函数
原型和参看说明如下:Stringchange_to_4(
long
a) 输入:a,这是
long
类型
的正整数 输出:是一个由’0’、‘1’、‘2’、'3’组成的
字符串
,作为整数a对应的4...
VBA
字符串
函数
&
转换
函数
1,vba
字符串
函数
列表: Trim(string) 去掉string左右两端空白 Ltrim(string) 去掉string左端空白 Rtrim(string) 去掉string右端空白 Len(string) 计算string长度 Left(string, x) 取string左段x个字符组成...
C语言sprintf
函数
解析(实现
数据
类型
转换
到
字符串
)
最近在将int转为char*
字符串
上出了问题,最后使用sprintf
函数
解决, 使用实例: char *char_num; int recv_num=-123456; sprintf(char_num,"%d",recv_num); //将int转化为char
字符串
得到了char_num="-123456...
数据
类型
转
字符串
及CString与其他
数据
类型
的
转换
一、其它
数据
类型
转换
为
字符串
▲短整型(int) itoa(i,temp,10);///将i
转换
为
字符串
放入temp中,最后一个数字表示十进制 itoa(i,temp,2); ///按二进制方式
转换
▲长整型(
long
) ltoa(l,temp,10); ▲...
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章