MFC 文件名、目录名或卷标语法不正确(错误码123)

吃下老本

Ma_Hong_Kai

结果是,一般没问题有问题很扯。

 

轻则乱码,导致可以找到报错的地方;重则,程序崩溃。如果没有抛出异常可能很难找。

 

问题现象:

错误码123

 

自己查找的资料:

错误123:文件名、目录或卷标语法错误怎么解决

文件名、目录名或卷标语法不正确原因(百度经验)

 

打完日志代码中的

设置路径

C:\User\Username\Application Data\gg\x.dat

实际路径

C:\Users\Username\AppData\Roaming\gg\x.datgg(乱码显示不出来当时没截图)

可以看到有乱码

 

部分代码:

…………

size_t policyFileSize = PolicyFile.length();

wchar_t *pPolicyFileBuffer = new wchar_t[policyFileSize+1];

wmemset(pPolicyFileBuffer,'\0',policyFileSize+1);  // 添加此代码

………………

 

出现乱码的原因一般是两个一个是,转码,还有一个是读取不应该读取的“空间”,即是内存;由于该内存写有内容,因此在堆中申请的空间没初始化,但是尚未使用,有内容存在,在再次覆盖的时候就会出现后面的内容没有覆盖会出现乱码;

还有一个崩溃,是由于操作未申请空间,假设policyFileSize 为20.你初始化的空间为40,恰好最后面的10被使用,就可能出现崩溃。

 

除此之外,微软的磁盘碎片整理,还有一些磁道划分就是因为在分区使用的时候出现的一些零碎的空间进行规划,在“空间”的使用,本质上是重写,类似于原始的磁头再次刻画一样。因此多次刻画可能导致一些分区(应该说是扇区损坏),此时需要使用一些工具,分出这些坏的扇区,在下次使用的时候跳过。

 

Ma_Hong_Kai 学习笔记,如有错误之处,欢迎指正

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ma_Hong_Kai

微信 2936729162

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值