| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2860 人关注过本帖, 1 人收藏
标题:输出文件内容,汉字乱码
取消只看楼主 加入收藏
aneeg
Rank: 1
等 级:新手上路
帖 子:75
专家分:8
注 册:2014-4-10
结帖率:86.67%
收藏(1)
已结贴  问题点数:10 回复次数:8 
输出文件内容,汉字乱码
一个很简单的程序,读取文本文件内容,再倒序输出。如果文件内容只有字母和数字,就能正常输出,如果有汉字,就变乱码了,不会是程序问题,官方源码。。。mingw编译
搜索更多相关主题的帖子: 汉字 文本文件 字母 
2015-02-10 23:26
aneeg
Rank: 1
等 级:新手上路
帖 子:75
专家分:8
注 册:2014-4-10
收藏
得分:0 
回复 2楼 zklhp
文件编码都是gb2312,库函数和输出编码不知道怎么看,可是代码中的汉字都能正常显示啊
2015-02-10 23:49
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
aneeg
Rank: 1
等 级:新手上路
帖 子:75
专家分:8
注 册:2014-4-10
收藏
得分:0 
回复 8楼 young
哪种编码汉字可以存为一个字节啊
2015-02-11 18:41
aneeg
Rank: 1
等 级:新手上路
帖 子:75
专家分:8
注 册:2014-4-10
收藏
得分:0 
回复 13楼 TonyDeng
primer plus里的,我在想,注释里的/*针对 DOS, 在 UNIX 下也可工作*/是指让过滤掉dos文件中的\r以便在unix中显示正常?是有点怪。
2015-02-12 01:58
aneeg
Rank: 1
等 级:新手上路
帖 子:75
专家分:8
注 册:2014-4-10
收藏
得分:0 
回复 13楼 TonyDeng
那怎么处理汉字啊,字符输入输出函数不管用,只能用字符串,怎么鉴定一个汉字结尾阿
2015-02-12 02:00
aneeg
Rank: 1
等 级:新手上路
帖 子:75
专家分:8
注 册:2014-4-10
收藏
得分:0 
回复 17楼 wmf2014
可以实现,多谢。第一个cc[1]=0是干什么的,删去没影响吧。还有就是把一个汉字分成两个字符读取输出,万一有一个配对错误,后面的岂不是全错了
2015-02-12 13:44
aneeg
Rank: 1
等 级:新手上路
帖 子:75
专家分:8
注 册:2014-4-10
收藏
得分:0 
回复 16楼 young
这个好复杂,我消化消化,多谢
2015-02-12 13:45
快速回复:输出文件内容,汉字乱码
数据加载中...
 
   



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

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