文本操作编码问题

在使用CFile 类写文本的时候,结果文本会出现乱码

这是因为Cfile把Unicode字符写了下来,而记事本不知道是Unicode,当作是单字节处理了

所以在写入字符串的时候,长度有就要注意了

  CString WriteTmp  = _T("");
        CTime time = CTime::GetCurrentTime();
        WriteTmp.Format(_T("\r\n%.4d-%.2d-%.2d%.2d:%.2d:%.2d\\n"),time.GetYear(),time.GetMonth(),time.GetDay(),time.GetHour(),time.GetMinute(),time.GetSecond());
        if(FALSE == file.Open(_T(".\\Log.txt"),CFile::modeWrite))
        {
            Err = OPEN_FAILED;
            return false;
        }
        
        file.SeekToEnd();
        file.Write(WriteTmp,WriteTmp.GetLength()*sizeof(wchar_t));

CString宽字符的真实长度因该是:WriteTmp.GetLength()*sizeof(wchar_t)

时间: 2024-08-27 08:50:45

文本操作编码问题的相关文章

4-2-word2003-Word文本操作

二.Word文本操作 1.文本清除 1.1.明白下面两个键的不同 Backspace(退格键) 删除光标以左的内容 Delete (删除键)    删除光标以右的内容 1.2.用鼠标拖选的方法,把下面两段一次性删除 拖选 开始位置单击+shift+结束位置单击     Internet源于美国,最初为了实现科研和军事部们里不同结构的计算机网络之间互联而设计,现已普及到全世界.随着通信线路的不断改进,特别是微机的普及,Internet几乎无所不在,无所不为了.    我国于1994年4月正式连入I

IO文本操作

创建文件并写入内容 StreamWriter sw = new StreamWriter(url, “false 覆盖,true 追加”, Encoding.UTF8); sw.Write(“内容”); sw.Close(); 读取文件内容 FileInfo info = new FileInfo("路径"); FileStream fs = new FileStream(pash, FileMode.OpenOrCreate, FileAccess.Read); byte[] b =

HTML&CSS基础学习笔记1.6-html的文本操作标签

文本也许是HTML里最常见的元素了,所以我们有必要对HTML的文本操作标签做下认识. 1. <em>,<i>内的文字呈现为倾斜效果: 2. <strong>,<b>内的文字呈现为加粗效果: 3. <b>,<i>只是单纯的为了让文本具有某种特殊样式,而<strong>,<em>不仅带有特殊样式,而且也表达了某种语义: 4. 在单纯的为了达到某种样式的情况下,建议使用不带有语义的标签. 体验如下:http://ww

如何设置secureCRT的鼠标右键为弹出文本操作菜单功能

secureCRT的鼠标右键功能默认是粘贴的功能,用起来和windows系统的风格不一致, 如果要改为右键为弹出文本操作菜单功能,方便对选择的内容做拷贝编辑操作,可以在 options菜单---->global options------>terminal------->mouse子菜单对 paste on right button的选项不要打勾就可以.

文本操作 $(..).text() $(..).html() $(..).val()最后一种主要用于input

文本操作: $(..).text() # 获取文本内容 $(..).text('<a>1</a>') # 设置文本内容 $(..).html() $(..).html('<a>1</a>') $(..).val() $(..).val(..) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> &l

Shell命令之文本操作

前言 在Linux中,文本处理操作是最常见的,应用非常广泛,如果能熟练掌握,可以大大提高开发效率. awk/sed/grep是文本操作领域的“三剑客”,学会了这3个命令就可以应对绝大多数文本处理场景.这里,不对这三个命令进行过多的冗余描述,只是记录最常见的几种用法,起个抛砖引玉的作用.详细的文档还请参考官方文档. grep grep命令最常用,非常适合查找和匹配.结合管道运算符,可以达到非常好的效果. 常用场景: cat a.txt |grep -i "target" -i : 忽略大

python学习笔记第四节(字符编码+文本操作+函数)

python中不存在常量这个意义只能用大写命名来说明这个赋值是个常量,实际均为变量 字符编码 内存中是unicode硬盘中是utf-8中间需要转换 python只有执行的时候才有字符编码的概念python2默认ascii码python3默认unicode 文件操作 写操作,w 没有就新建有则覆盖,a是追加 name 查看文件名encoding 查看字符编码 查看是否可读查看是否可写 true false 以文件字符来显示 seek 移动光标位置,以文件起始来读,字节,以0为单位utf-8三个字符

Python之路-python(set集合、文本操作、字符编码 )

一.集合操作(set)                                                                                                                                                                                             1.定义: set集合,是一个无序且不重复的元素集合. 集合对象是一组无序排列的可哈希的值,集合成员

NodeJs基础之字节操作、路径操作和文本操作

字节操作 buffer对象 构造函数 new Buffer(size) 参数为数值,表示分配空间的长度 new Buffer(string,[encoding]) 参数为字符串,表示存入Buffer的数据,编码可选 new Buffer(array) 参数为数组,表示存入Buffer的数据 静态方法 Buffer.isBuffer(obj) 判断是否为Buffer(静态方法直接通过类名调用) 实例方法 buf.write(content,offset,length,encoding); cont