VC读取文本并修改后输出
MFC怎么读取word、txt和excel文件中的字符并转换成16位后输出啊?读取连续多个字符,中间有回车隔开。最好有源码,谢谢咯,高分求助啊。我要做的主要是转换。其次是...
MFC怎么读取word、txt和excel文件中的字符并转换成16位后输出啊?读取连续多个字符,中间有回车隔开。最好有源码,谢谢咯,高分求助啊。
我要做的主要是转换。其次是输出和读取 展开
我要做的主要是转换。其次是输出和读取 展开
5个回答
展开全部
CFile类不就是做这些的吗?
把一个文件 读取指定的长度 到一个Buffer中。
这个读取 就如同memcpy一样,是以实际内存的情况读取的
没有做任何字符的转换。
//example for CFile::Read
extern CFile cfile("**.txt",CFile::modeRead );
char pbuf[100];
UINT nBytesRead = cfile.Read( pbuf, 100 );
你要清楚一点:
用文件的形式进行操作的话~ 程序只会把一个文件看做是二进制的数据流
而不会关心你具体的是什么后缀的文件
至于后缀~ 比如说.doc 这是微软自己命名的格式,他的文件在内存中的具体存储情况,存储格式我们是不知道的,除非你去了解这种文件的格式。然后从中分析出你要的 文本信息出来。
最单纯的文本格式就是.TXT了,其他的都多多少少加了些东西..所以不是那么好获取有效的文本。
把一个文件 读取指定的长度 到一个Buffer中。
这个读取 就如同memcpy一样,是以实际内存的情况读取的
没有做任何字符的转换。
//example for CFile::Read
extern CFile cfile("**.txt",CFile::modeRead );
char pbuf[100];
UINT nBytesRead = cfile.Read( pbuf, 100 );
你要清楚一点:
用文件的形式进行操作的话~ 程序只会把一个文件看做是二进制的数据流
而不会关心你具体的是什么后缀的文件
至于后缀~ 比如说.doc 这是微软自己命名的格式,他的文件在内存中的具体存储情况,存储格式我们是不知道的,除非你去了解这种文件的格式。然后从中分析出你要的 文本信息出来。
最单纯的文本格式就是.TXT了,其他的都多多少少加了些东西..所以不是那么好获取有效的文本。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
读取文件
char sRead[1024];
CFile mFile(_T("file.txt"),CFile::modeRead);
while (sRead!=null)
{
mFile.Read(sRead,1024);
CString content=CString(sRead);
%%3
}
写入文件
CFile mFile(_T("file.txt"), CFile::modeWrite|CFile::modeCreate);
mFile.Write("content");
mFile.Flush();
mFile.Close();
字节数组转换为十六进制字符串
int hex1 = 0x123ED, hex2;
char hexstr1[127], hexstr2[] = "0xED1234";
printf("%x\n", hex1);
sprintf(hexstr1, "0x%x", hex1);
printf("%s\n", hexstr1);
printf("%s\n", hexstr2);
sscanf(hexstr2, "%x", &hex2);
printf("%x\n", hex2);
char sRead[1024];
CFile mFile(_T("file.txt"),CFile::modeRead);
while (sRead!=null)
{
mFile.Read(sRead,1024);
CString content=CString(sRead);
%%3
}
写入文件
CFile mFile(_T("file.txt"), CFile::modeWrite|CFile::modeCreate);
mFile.Write("content");
mFile.Flush();
mFile.Close();
字节数组转换为十六进制字符串
int hex1 = 0x123ED, hex2;
char hexstr1[127], hexstr2[] = "0xED1234";
printf("%x\n", hex1);
sprintf(hexstr1, "0x%x", hex1);
printf("%s\n", hexstr1);
printf("%s\n", hexstr2);
sscanf(hexstr2, "%x", &hex2);
printf("%x\n", hex2);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那需要看一下这些文件具体的格式喽!
主要是把任何一个文件都当成是二进制来读取就是了,只适用Read进行读取,就不需要管是不是字符了,因为你需要的是16进制的结果嘛,等于是二进制方式
主要是把任何一个文件都当成是二进制来读取就是了,只适用Read进行读取,就不需要管是不是字符了,因为你需要的是16进制的结果嘛,等于是二进制方式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CFile file;
file.open(...)
file.read(...)
file.open(...)
file.read(...)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你最好把问题详细的说明一下,然后题目到我的邮箱,我很有兴趣帮你解决。
邮箱是:wanna1106@163.com
邮箱是:wanna1106@163.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询