| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2860 人关注过本帖, 1 人收藏
标题:输出文件内容,汉字乱码
只看楼主 加入收藏
aneeg
Rank: 1
等 级:新手上路
帖 子:75
专家分:8
注 册:2014-4-10
结帖率:86.67%
收藏(1)
已结贴  问题点数:10 回复次数:25 
输出文件内容,汉字乱码
一个很简单的程序,读取文本文件内容,再倒序输出。如果文件内容只有字母和数字,就能正常输出,如果有汉字,就变乱码了,不会是程序问题,官方源码。。。mingw编译
搜索更多相关主题的帖子: 汉字 文本文件 字母 
2015-02-10 23:26
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:2 
编码问题 你要搞明白 你的文件是什么编码 库函数能处理什么编码 输出的时候又支持什么编码
2015-02-10 23:32
BuilderZ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:82
专家分:123
注 册:2014-9-22
收藏
得分:2 
Output Mod is not current.
2015-02-10 23:47
aneeg
Rank: 1
等 级:新手上路
帖 子:75
专家分:8
注 册:2014-4-10
收藏
得分:0 
回复 2楼 zklhp
文件编码都是gb2312,库函数和输出编码不知道怎么看,可是代码中的汉字都能正常显示啊
2015-02-10 23:49
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:2 
无代码  无真相  

不知道你是如何“倒”的,ascii文本一个一个的倒  汉字要2个2个的倒

DO IT YOURSELF !
2015-02-11 08:16
aneeg
Rank: 1
等 级:新手上路
帖 子:75
专家分:8
注 册:2014-4-10
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <stdlib.h>
#define CNTL_Z '\032'    /* DOS 文本文件中的文件结尾标记 */
#define SLEN 50
int main (void)
{
   char file[SLEN];
   char ch;
   FILE *fp;
   long count, last;

   puts ("Enter the name of the file to be processed : ");
   gets(file);
   if ((fp = fopen(file, "rb")) == NULL)
   {      /* 只读和二进制模式 */
      printf ("reverse can't open %s \n",file);
      exit(1);
   }
   fseek(fp,0L, SEEK_END);   /* 定位文件结尾处 */
   last = ftell(fp);
   for (count = 1L; count <= last; count++)
   {
      fseek(fp,-count,SEEK_END); /* 回退 */
      ch = getc(fp);
   /* 针对 DOS, 在 UNIX 下也可工作 */
      if (ch != CNTL_Z && ch != '\r')
      putchar(ch);
    }
    putchar('\n');
    fclose(fp);
    return 0;

 }
2015-02-11 17:05
aneeg
Rank: 1
等 级:新手上路
帖 子:75
专家分:8
注 册:2014-4-10
收藏
得分:0 
以下是引用wp231957在2015-2-11 08:16:19的发言:

无代码  无真相  

不知道你是如何“倒”的,ascii文本一个一个的倒  汉字要2个2个的倒

代码已帖上
2015-02-11 17:05
young
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:223
专家分:160
注 册:2004-9-5
收藏
得分:2 
GB2312编码,汉字部分占2个字节,数字,字母等(原先ASCII码)占1个字节。

如果你爱C语言,请你爱指针; 如果你爱指针,请你爱指针的指针;
2015-02-11 17:19
aneeg
Rank: 1
等 级:新手上路
帖 子:75
专家分:8
注 册:2014-4-10
收藏
得分:0 
回复 8楼 young
哪种编码汉字可以存为一个字节啊
2015-02-11 18:41
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用aneeg在2015-2-11 18:41:03的发言:

哪种编码汉字可以存为一个字节啊

这个好像没有
2015-02-11 19:17
快速回复:输出文件内容,汉字乱码
数据加载中...
 
   



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

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