佚名通过本文主要向大家介绍了cstdiofile类,cstdiofile头文件,cstdiofile读取文件,cstdiofile创建文件,cstdiofile等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:使用cstdiofile类读取文件,出现内存分配空间问题
描述:
楼主使用CStdioFile 类的 ReadString() 安行读取文本数据。文本每行的数据格式都是一样的。当读到第3行时,程序报断言错误ATLASSERT(nlength <= getdata nalloclength),其中nlength是0x85, getdata是0x80。文本每行实际长度是0x85。我检查了getdata 内指针内容,没有问题。
因为getdata 的 nalloclength 是0x80. 所以怀疑是空间分配的问题。但不清楚具体错在哪
使用Unicode to 编码的文本。
解决方案1:
描述:
内存分配unicode指针编码
使用cstdiofile类读取文件,出现内存分配空间问题楼主使用CStdioFile 类的 ReadString() 安行读取文本数据。文本每行的数据格式都是一样的。当读到第3行时,程序报断言错误ATLASSERT(nlength <= getdata nalloclength),其中nlength是0x85, getdata是0x80。文本每行实际长度是0x85。我检查了getdata 内指针内容,没有问题。
因为getdata 的 nalloclength 是0x80. 所以怀疑是空间分配的问题。但不清楚具体错在哪
使用Unicode to 编码的文本。
解决方案1:
用纯c 函数 fgets, 自己定义字符串长度
解决方案2:ReadString 好像只能支持128个字符长度吧,如果一行太长了就不行。