ofstream打开失败解决方法及V3D快速启动

ofstream有时会打开失败,如下面这段代码,即ofs.fail()==true。并且在有的文件路径能够打开,成功生成文件,有的路径却不能。其原因可能是没有系统写文件的权限。

ofstream ofs(swc_file.c_str(),std::ios::out);
if(ofs.fail())
{
    cout<<"open swc file error"<<endl;
    return false;
}

例如,在使用V3D中某个插件的dofunc功能的时候,由VS打开的cmd命令行默认路径是c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC,在这个路径是没有权限生成文件的。但是用同一个插件的domenu功能却能够成功运行程序,因为其默认路径是Path\V3D\v3d_external\bin,所以能够成功打开并生成一个文件。

解决办法:
可以自己写一个bat文件打开VS命令行,并自动跳转到我们常用的路径(带有读写权限的)。这个办法对我们平时调试和编译插件的时候还能节省一些时间。

具体步骤:

  • 新建文本文档,命名为 bianyi.txt,暂时放在一个路径,例如桌面。
  • 将以下内容加入到bianyi.txt文件中。
e:
cd e:\V3D\vaa3d_tools\hackathon\
cls
%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" amd64

其中,
第二行是你期待打开VS的cmd的默认路径。
第一行是你第二行路径的系统根目录加冒号。因为cd到另一个系统根目录需要在cd前或在cd后输入这个系统根目录。
第三行是右键VS的cmd->属性,目标(T)处的内容。
在这里插入图片描述

  • 将bianyi.txt改名成bianyi.bat,然后运行发现就是自己常用路径下可以编译的状态了。

再完成以下的步骤,就可以将其放在任务栏快速启动,并且可以换图标。
例如将默认的这个图标换为E:\V3D\v3d_external\v3d_main\v3d\pic\v3dIcon.ico。这个路径的图标是V3D软件官方的图标。
在这里插入图片描述

  • 打开C:\Users\Administrator\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
    快速启动栏路径。但是有的电脑可能没有这个路径,可能只到了C:\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch这个文件夹,将 bianyi.bat 复制到这个路径下。
  • 将 bianyi.bat 改名为bianyi.exe
  • 将 bianyi.exe 拖到任务栏
  • 右键点击任务栏 bianyi.exe属性,点击更改图标,选择E:\V3D\v3d_external\v3d_main\v3d\pic\v3dIcon.ico
  • 将快速启动栏文件夹里的 bianyi.exe 修改回 bianyi.bat
  • 将任务栏中 bianyi.exe 修改回 bianyi.bat

同理 采用该种方式打开的V3D,界面在遇到问题后不会强制退出。

e:
cd e:\V3D\v3d_external\bin
cls
%comspec% /k ""vaa3d_msvc.exe"" 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值