社区
C++ Builder
帖子详情
问一个怎么读写Unicode文本文件的问题,顺便散分~~
rebbie
2003-08-19 10:46:39
怎么在bcb里读取unicode文本文件,然后把文件内容显示出来?
怎么做?用到那些函数和控件?
...全文
118
12
打赏
收藏
问一个怎么读写Unicode文本文件的问题,顺便散分~~
怎么在bcb里读取unicode文本文件,然后把文件内容显示出来? 怎么做?用到那些函数和控件?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rebbie
2003-08-23
打赏
举报
回复
楼上的方法我没试过,不过显示的问题我在msdn里找到了相应的帮助,通过直接向richedit发送消息的方法直接读入。
谢谢各位,谢谢,但是对文本内容的打印却成问题了 ;)
rebbie
2003-08-19
打赏
举报
回复
Up
rebbie
2003-08-19
打赏
举报
回复
To keiy
bcb带的Richedit本身没有LoadFromFile方法,其LoadFromFile方法是属于其的属性Lines的
而lines是TStrings类的实例,所以兜回了刚才的那个圈子,读到字母的时候就截止了。只是不清楚你所指的RichEdit是否是bcb带的?
rebbie
2003-08-19
打赏
举报
回复
unicode文本文件的格式是(HEX格式):FF FE xx xx ...
一个字符用两个字节表示,如果用普通的LoadFromFile函数读到字母字符的时候就截止了,因为字母是单字节的,用unicode表示的话得高位补零,so...
程序的效果应该像win2k的记事本,能够在不同语言的2k环境下显示,现在关键的是我找不到可以用的控件,我查过资料除了2k和xp的记事本支持unicode编码文件外,其他的都不支持,包括wordpad,9x的记事本也不支持。
柯本
2003-08-19
打赏
举报
回复
我错了:试试这个:
TStringList *p=new TStringList();
p->LoadFromFile("t.txt");
for(int i=0;i<p->Count;i++)
Memo1->Lines->Add(WideCharToString((wchar_t *)p->Strings[i].c_str()+1));
delete p;
柯本
2003-08-19
打赏
举报
回复
win2k 直接用RichEdit的LoadFromFile
esiedull
2003-08-19
打赏
举报
回复
注意在程序中处理从文件中读出的字符串的时候用wchar_t,Unicode macros,widechar....
等来处理。你查查编译器带的文挡。说的很清楚
zhanguan
2003-08-19
打赏
举报
回复
up
zjqyb
2003-08-19
打赏
举报
回复
sorry:!!!
TMemoryStream *ss;
ss=new TMemoryStream();
ss->LoadFromFile("c:\\test.dat");
ss->Position=ss->Size;
ss->Write("\0\0",2) ;
Memo1->Lines->Add(WideCharToString((wchar_t *)ss->Memory+1));
delete ss;
柯本
2003-08-19
打赏
举报
回复
我试过zjqyb() 的方法有问题
zjqyb
2003-08-19
打赏
举报
回复
TMemoryStream *ss;
ss=new TMemoryStream();
ss->LoadFromFile("c:\\test.txt");
ss->Position=0;
Memo1->Lines->Add(WideCharToString((wchar_t *)ss->Memory));
delete ss;
柯本
2003-08-19
打赏
举报
回复
Richedit->Lines->LoadFromFile
不过,上面的方法都有些小问题,如下的测试通过!
FILE *fp=fopen("t.txt","rb");
fseek(fp,0,SEEK_END);
int fz=ftell(fp);
fseek(fp,0,SEEK_SET);
char *buff=new char[fz];
fread(buff,1,fz,fp);
fclose(fp);
Memo1->Lines->Add(WideCharToString((wchar_t *)buff+1));
delete buff;
SpringBoot工作实录-手把手做工具型网站
本课程以实际工作为主线,通过讲授以SpringBoot为主体架构的实战项目,从框架搭建、Bootstrap页面编写、thymeleaf页面编写、前后端交互、数据库交互、业务处理等内容出发,编写
一个
实战可上线的企业级项目,带领各位...
为什么io流的字节流适合处理影像类文件,而字符流适合读
文本文件
,一次讲明白
其中有一条规则是字节流适合
读写
影像类无内容无汉字的文件,而字符流适合处理文件内容中含有中文的文件。大家是否也像我一样对这条规则有过疑
问
呢?网上查看io
读写
的相关文档,对于该条规则也只是上面的描述一样,...
python 文件
读写
a+_python文件
读写
操作(r/r+/rb/w/w+/wb/a/a+/ab)
打开即默认创建
一个
新文件,如果文件已存在,则覆盖写(即文件内原始数据会被新写入的数据清空覆盖)。‘w+’:写读。打开创建新文件并写入数据,如果文件已存在,则覆盖写。‘wb’:表示以二进制写方式打开,只能写...
python文件打开模式rb表示只读模式打开文件_一篇搞懂python文件
读写
操作(r/r+/rb/w/w+/wb/a/a+/ab)...
关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂。今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望...打开即默认创建
一个
新文件,如果文件已存在,则覆盖写(即文...
python文件
读写
r+_python文件
读写
操作(r/r+/rb/w/w+/wb/a/a+/ab)
打开即默认创建
一个
新文件,如果文件已存在,则覆盖写(即文件内原始数据会被新写入的数据清空覆盖)。‘w+’:写读。打开创建新文件并写入数据,如果文件已存在,则覆盖写。‘wb’:表示以二进制写方式打开,只能写...
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章