问个简单的问题,这代码有什么问题

dychenyi 2008-04-01 06:22:10
	char *str="192.168.1.1";
char *str1="192.168.1.2";
BYTE a[4]={1,2,3,4};
BYTE b[4]={2,3,4,5};

sscanf(str,"%d.%d.%d.%d",&a[0],&a[1],&a[2],&a[3]);
sscanf(str1,"%d.%d.%d.%d",&b[0],&b[1],&b[2],&b[3]);

为什么 sscanf(str1,"%d.%d.%d.%d",&b[0],&b[1],&b[2],&b[3]);这一句会出错呢 ,谢谢
...全文
209 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
sheenl 2008-04-02
  • 打赏
  • 举报
回复
为什么 sscanf(str1,"%d.%d.%d.%d",&b[0],&b[1],&b[2],&b[3]);这一句会出错呢 ,谢谢
--------------------------------
应该是 "%c.%c.%c.%c"吧
Mnky 2008-04-02
  • 打赏
  • 举报
回复
解决办法很简单,把 char *str 改成 char str[] 就行了
zeloas 2008-04-02
  • 打赏
  • 举报
回复
类型问题
Ansi C中没有BYTE这个类型,
貌似M$中BYTE是一个宏,相当于unsigned char
zeloas 2008-04-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 dychenyi 的回复:]
引用 7 楼 yao_zhuang 的回复:
问题不在于类型
你把两个指针换成数组就可以了,他们是常量指针,怎么可以改变他们的值呢?

sscanf(xx,“”,YY);本来就是从xx读到yy里啊 没对xx进行写操作啊 。
[/Quote]
Sorry 看错了
dychenyi 2008-04-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ZiSheng 的回复:]
3楼的解法是对的,你用的byte本身就是char类型,换为int
[/Quote]

唉 BYTE 不就是8bit 的int吗 ?可以放得下啊 为什么不行啊 ?
dychenyi 2008-04-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yao_zhuang 的回复:]
问题不在于类型
你把两个指针换成数组就可以了,他们是常量指针,怎么可以改变他们的值呢?
[/Quote]
sscanf(xx,“”,YY);本来就是从xx读到yy里啊 没对xx进行写操作啊 。
zeloas 2008-04-01
  • 打赏
  • 举报
回复
问题不在于类型
你把两个指针换成数组就可以了,他们是常量指针,怎么可以改变他们的值呢?
ZiSheng 2008-04-01
  • 打赏
  • 举报
回复
3楼的解法是对的,你用的byte本身就是char类型,换为int
zzzkkk666 2008-04-01
  • 打赏
  • 举报
回复
在家看不爽,需要运行环境跑一下才好,帮顶了
橘子香水 2008-04-01
  • 打赏
  • 举报
回复
是运行结果不对还是编译出错.
Supper_Jerry 2008-04-01
  • 打赏
  • 举报
回复
	char *str="192.168.1.1";
char *str1="192.168.1.2";
int a[4]={1,2,3,4};
int b[4]={2,3,4,5};

sscanf(str,"%d.%d.%d.%d",&a[0],&a[1],&a[2],&a[3]);

然后把int数组转换到byte数组
Supper_Jerry 2008-04-01
  • 打赏
  • 举报
回复
sscanf(str1,"%d.%d.%d.%d",&b[0],&b[1],&b[2],&b[3]);
这句的用法错了。你查一下sscanf
zeloas 2008-04-01
  • 打赏
  • 举报
回复
str和str1指向的常量字符串,所以不能用sscanf改变内在的值
它通过读取 Excel 表格中的业务数据,结合 Word 模板,自动生成多个独立的合同文件,并自动处理了表格中“合计”行的合并与中文大写金额转换。 资源名称:合同文档自动化生成脚本 (1.py) 名字真是乱起 核心功能:Excel 数据读取 → Word 模板渲染 → 表格单元格合并与金额处理 → 批量导出 Word 文档。 适用场景:财务、销售或行政部门需要根据订单或业务明细,批量制作格式统一的合同、报价单或结算单。 1. 自动把“钱”变成“大写” 它干了啥:它内置了一个翻译功能,专门把阿拉伯数字(比如 100.50)自动转换成财务专用的中文大写(比如 壹佰元伍角)。 为什么有用:写合同最怕手滑写错金额,或者大写格式不对。这个功能全自动搞定,既标准又不会出错。 2. 自动“装修”表格底部 它干了啥:生成文档后,它会自动找到表格的最后一行,把前几列合并成一个大格子,写上“合计:XXX(大写金额)”,并在最右边填上具体的数字总额。 为什么有用:平时我们做完表格,还得手动去合并单元格、算总数、填大写,非常繁琐。这个脚本直接一步到位,把表格收尾工作做得漂漂亮亮。 3. 像“发传单”一样批量做合同 它干了啥:它会看你的 Excel 表格,按照“编号”把数据归类。 如果是同一个编号的货物,它会把它们塞进同一个合同里(比如一个客户买了三样东西,会自动列三行)。 如果是不同的编号,它就生成不同的合同文件。 为什么有用:不管你有一百个还是一千个订单,它都能自动拆分,给每个客户生成一份独立的、内容准确的合同,完全不用人工去复制粘贴。

70,038

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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