CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

急~~把一个文件夹里的所有文本文件里的中文字符前面加一个空格然后把所有内容输出到一个HTM文件的<table></table>中?

楼主Cbfan(民族英雄~~)2003-11-04 08:38:36 在 C++ Builder / 基础类 提问

 
  比如,这个文件夹里有3个文件,文件名1.txt;   2.txt;   3.txt.  
   
  我想把1.txt处理为1.htm,要把且仅把1.txt中的中文字符前面加一个空格,然后生成为固定格式的1.htm文件。(2,3类似).  
   
  比如1.txt的内容是"CSDN_专家门诊!",那么1.htm中的内容如下:  
   
  <head>  
  ....  
  </head>  
   
  <body>  
  <table>  
      <fond   size=12>CSDN_   专   家   门   诊!</fond>  
  </table>  
  </body>  
   
   
   
   
  问题点数:100、回复次数:12Top

1 楼pzoon(杀死日本人)回复于 2003-11-04 08:49:27 得分 12

你知道再那段需要添加<table>这些么,如果知道的话,你可以把文本先读进一个容器里,然后分解,这是最苯的方法Top

2 楼Cbfan(民族英雄~~)回复于 2003-11-04 09:19:47 得分 0

把文本文件里的所有咚咚都添加到<table>之间,只不过是把里面的中文字符前面加个空格。Top

3 楼matq2008(叶子.net)回复于 2003-11-04 09:27:39 得分 13

&nbsp;  
  加入这个就行了,这是html的语法,空格Top

4 楼pp616(坏蛋)回复于 2003-11-04 09:41:04 得分 13

呵呵。AnsiString::ByteType  
  去看看吧。中文字符判断需要用到。Top

5 楼Atomictry(天影)回复于 2003-11-04 09:56:06 得分 12

研究一下。Top

6 楼andy_qhz(天地一线)回复于 2003-11-04 10:51:32 得分 13

我给你点思路:你做个循环,在每个文本文件里读取数据(一行一行读),将一行数据放到buf里面,然后操作缓冲区数据,查找中文字符(中文字符是双字节的,第一字节ASCII码值>127的为中文字符),然后再在中文字符前加空格,最后将该行修改了的数据拷贝到你的目标文件中Top

7 楼zhouxiaotan(夜雨悠扬)回复于 2003-11-04 11:51:24 得分 12

如果需要用程序判断中文的话,可以使用ascii函数,来判断,所有的中文字符的编码的返回值都是小于1的Top

8 楼Cbfan(民族英雄~~)回复于 2003-11-04 19:01:13 得分 0

upupTop

9 楼Cbfan(民族英雄~~)回复于 2003-11-05 09:44:00 得分 0

AnsiString   cdir;  
                  TSearchRec   sr;  
   
                  if(FindFirst(sPath+"\\*.txt",faDirectory,sr)==0)  
                  {  
                                  cdir=sPath+"\\"+sr.Name;  
                                  Memo1->Lines->LoadFromFile(cdir);  
                                  //WideString   aa=Memo1->Text.c_str();  
   
   
                                  unsigned   char   *cBefore=   Memo1->Text.c_str();  
                                  unsigned   char   cAfter[500000];  
                                  int   j=0;  
                                  ShowMessage(Memo1->Text.Length());  
                                  for(int   i=0;   i<Memo1->GetTextLen();   i++)   {  
   
                                                  if(cBefore[i]>160)   {       //中文  
                                                                  cAfter[j]=cBefore[i];  
                                                                  cAfter[j+1]=cBefore[i+1];  
                                                                  cAfter[j+2]='   ';  
                                                                  i++;  
                                                                  j=j+3;  
                                                  }  
                                                  else   {   //其他符号  
                                                                  cAfter[j]=cBefore[i];  
                                                                  j++;  
                                                  }  
                                  }  
   
                                  Memo2->Lines->Add(StrPas(cAfter));  
   
                                  Memo4->Text=Memo3->Text   +   Memo2->Text   +   Memo4->Text;  
                                  Memo4->Lines->SaveToFile(ChangeFileExt(cdir,   "")   +   ".htm");  
                                  Memo1->Clear();  
                                  Memo2->Clear();  
                                  Memo4->Clear();  
   
                  }  
   
   
  。。。。。。。。。。。。。。。  
   
   
  这样写,为什么文件超过5K,程序就异常!!!???Top

10 楼yjy1001(蓝鲸--优秀得郁闷的鱼)回复于 2003-11-05 13:38:36 得分 13

你这样写应该可以解决问题的了  
      不过   可能   5k以上的问题   行数太多  
   
  导致   Memo装载益处了  
  用TStringList来操作看看。  
   
  判断和添加部分   很容易的   没什么难度Top

11 楼Cbfan(民族英雄~~)回复于 2003-11-05 19:26:52 得分 0

谢谢~~Top

12 楼yhz(耗子)回复于 2003-11-06 11:21:39 得分 12

对于这种大小不定的文件操作,我觉得最好不要一次性全部读进内存。  
   
  还是老老实实用   fgets/fputs   比较好。占资源比较少,处理上也不见得麻烦多少。Top

相关问题

  • 怎样从文本文件中读取字符串?
  • 怎样从文本文件中搜索指定字符?
  • 怎么在文本文件中插入一字符串?
  • 如何在文本文件里面查找字符串
  • 关于读取文本文件中字符串的问题
  • 为什么向一文本文件里写字符不成功?
  • 有关文本文件和字符串操作问题
  • 在jsp中如何读取文本文件中的字符?急!
  • 【新手提问】如何将字符写入文本文件?
  • 文本文件的字符替换问题,急!!!

关键词

  • 所有

得分解答快速导航

  • 帖主:Cbfan
  • pzoon
  • matq2008
  • pp616
  • Atomictry
  • andy_qhz
  • zhouxiaotan
  • yjy1001
  • yhz

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo