免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 4652 | 回复: 20
打印 上一主题 下一主题

[C] 请教有关字符串输出问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-20 11:43 |只看该作者 |倒序浏览
在如下代码中,
    if((len = contenth->title_size) != 0) {
            printf("------------pos: %d\n", pos);
            printf("------------len: %d\n", len);
//            fflush(stdout);

            wstring = (uint16_t*)&hdr[pos];
            pos += len;
            if (pos > hdr_len)// goto len_err_out;

            return ;
            if ((string = get_ucs2str(wstring, len))) {
                // mp_msg(MSGT_HEADER,MSGL_V," Title: %s\n", string);

                //demux_info_add(demuxer, "name", string);

                printf("Title: %s\n", string);
                free(string);

如果在if后加上printf后,输出string就不会为乱码;如果没有printf,本应输出为空的string里面有乱码,请教各位,printf起到了什么作用?
整个代码如后面的回复附件,例子参考了mplayer

[ 本帖最后由 kingink1983 于 2008-11-20 14:47 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-11-20 11:59 |只看该作者
这么多if你说的是哪个呢?
printf在你这里只是输出,加或去都一样

论坛徽章:
0
3 [报告]
发表于 2008-11-20 12:15 |只看该作者
printf("------------pos: %d\n", pos);
            printf("------------len: %d\n", len);
就是这两个,printf有时对string的输出有影响

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
4 [报告]
发表于 2008-11-20 12:18 |只看该作者

回复 #1 kingink1983 的帖子

估计是程序本身的问题,比如字符串后面没有补\0或者溢出等等。请仔细检查一下你的代码。

论坛徽章:
1
天蝎座
日期:2013-08-25 10:27:22
5 [报告]
发表于 2008-11-20 12:39 |只看该作者
你帖的代码太少了。
hdr数组和得string的函数的代码都没帖。

论坛徽章:
0
6 [报告]
发表于 2008-11-20 12:42 |只看该作者

回复 #4 happy_fish100 的帖子

这些和printf有啥联系呢?

论坛徽章:
0
7 [报告]
发表于 2008-11-20 12:55 |只看该作者
附上代码,请大家指教。
将hdr的内容输出到屏幕与写入到文件的结果为什么不一致呢?
(文件包编译方式后,直接./linkmmsrip mms:// 地址……,就可以)

readinfonew.rar

24.61 KB, 下载次数: 32

论坛徽章:
0
8 [报告]
发表于 2008-11-20 14:18 |只看该作者
哎,帖子沉了~~

论坛徽章:
1
天蝎座
日期:2013-08-25 10:27:22
9 [报告]
发表于 2008-11-20 16:01 |只看该作者
get_ucs2str函数里没有将outbuf后面加个'\0'?

论坛徽章:
1
天蝎座
日期:2013-08-25 10:27:22
10 [报告]
发表于 2008-11-20 16:04 |只看该作者
另外下次不要整个代码都给,一般都有自己的事情,不会去看你整个的代码,除非你的代码很有研究价值。
给出给你的代码相关的部分就行了。
像你的这个例子的get_ucs2str函数要给出。

或者你不知道给哪部分,至少要说明出问题的那部分在你的哪个源文件里。让更大家能更快定位。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP