| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 646 人关注过本帖
标题:求助!Linux下编译C语言
只看楼主 加入收藏
pyf_3721
Rank: 1
等 级:新手上路
帖 子:26
专家分:4
注 册:2013-3-10
结帖率:100%
收藏
已结贴  问题点数:2 回复次数:6 
求助!Linux下编译C语言
如何设置编译环境支持中文和时区设置,使编译出的程序显示的时间为中国-上海或中国重庆所在地的时间。使readdir()函数支持Gb2312编码?
搜索更多相关主题的帖子: 时间 C语言 所在地 Linux 时间 C语言 所在地 Linux 时间 C语言 所在地 Linux 
2013-03-20 14:27
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
额...没玩过这么高深的东西
百度去撒

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-03-20 14:50
pyf_3721
Rank: 1
等 级:新手上路
帖 子:26
专家分:4
注 册:2013-3-10
收藏
得分:0 
求解答中...
2013-03-21 11:29
lwei
Rank: 5Rank: 5
等 级:职业侠客
威 望:3
帖 子:197
专家分:369
注 册:2005-5-4
收藏
得分:2 
time。h一个叫timezone的变量,保存的是本地时间和格林威治时间的差,也就是是时区,至于如何和中文名称对称,不知道。
readdir理论上不支持任何中文编码,从磁盘读出是什么就返回什么东西,不会管你是gb2312,还是utf的,这个需要你自己转换格式。

2013-03-21 12:06
pyf_3721
Rank: 1
等 级:新手上路
帖 子:26
专家分:4
注 册:2013-3-10
收藏
得分:0 
回复 4楼 lwei
谢谢您的回复。

正如您所说,下面是调用时间的一个子程序,实际显示的时间相差8小时,应加一个什么东东才能正确显示中国的时间,其中已经包含头文件time.h
   
char* print_batt_cap() {
    char* full_cap_s = (char*)malloc(30);
    char full_cap_a[30];
    int cap_i = get_battery_level();
    // Get a usable time
    struct tm *current;
    time_t now;
    now = time(0);
    current = localtime(&now);
    sprintf(full_cap_a, "电池电量: %i%% @ %02D:%02D", cap_i, current->tm_hour, current->tm_min);
    strcpy(full_cap_s, full_cap_a);
    return full_cap_s;
}


readdir函数有开过贴,见https://bbs.bccn.net/viewthread.php?tid=400910&extra=&page=1,对readdir函数读出的内容无法转码,贴子中的gbkutf是一个转字符串函数,无法对其转码。麻烦您有空给看看,谢谢!

[ 本帖最后由 pyf_3721 于 2013-3-21 19:35 编辑 ]
2013-03-21 19:21
lwei
Rank: 5Rank: 5
等 级:职业侠客
威 望:3
帖 子:197
专家分:369
注 册:2005-5-4
收藏
得分:0 
回复 5楼 pyf_3721
unix系统是可以设置时区的,如果正确的话localtime返回的就应该是本地时间。因此你的系统时区设置错误了。这个应该有系统命令来修改时区。或不修改也可以,把localtime改为用gmtime直接取格林威至时间,然后在程序中自己转化为本地时间。北京时间的东八区,忘了是加还是减八个小时。

那个gb2312转换utf的,linux下面有一个iconv的包可以实现,我没仔细看你的代码,不知道你用了这个东西没有。

2013-03-24 21:15
yctchxf
Rank: 6Rank: 6
来 自:盐城
等 级:侠之大者
威 望:2
帖 子:176
专家分:454
注 册:2012-4-10
收藏
得分:0 
尝试用 C-free 这个工具看看,有点象是Lunix下的编程。
2013-04-08 12:33
快速回复:求助!Linux下编译C语言
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037532 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved