我需要将文件保存到公司的网络中。这需要编码到我的应用程序中,而不是使用文件对话框或任何东西。当我保存文件而没有指定路径时,它在我的应用程序所在的目录中完全保存它但当我尝试这样做时,网络没有任何反应。这是我必须保存的。
QFile outfile;
outfile.setFileName("//DTPRIMARY/MyFile.htm");
outfile.open(QIODevice::WriteOnly);
QTextStream out(&outfile);
out << textEdit->toHtml();
out.flush();
outfile.close();
我实际上想在这里保存\\DTPRIMARY\Inetpub\wwwroot
,但是拿出其他文件夹,认为这可能是问题的一部分,但事实并非如此。而且我使用'/'而不是'\',因为这是一些地方所说的(我从来没有真正理解为什么文件路径必须使用'\'或'/',尽管它可能是错的IDK的。)
有没有人知道怎么做/我的代码出了什么问题?
答案 0 :(得分:1)
UNC路径应该能够正常工作,您可以使用本地文件对其进行测试,例如"\\?\C:\MyFile.htm"
将是一个名为MyFile.htm的文件,位于C盘顶部
通常路径为\\machine\share
,例如\\dtprimaray\share\MyFile.htm
使用“/”的原因是C语言使用\表示下一个char是特殊的,因此\ t是tab,\ n是换行符。 DOS被复制(抱歉受影响)早期的操作系统使用“/”作为文件分隔符,微软不希望DOS看起来像副本太多。从那以后,它一直是臭虫的来源。
您可以使用\\
向C说下一个\真的是\ - 但是当你必须写\\\\
来表示\\
和{{1}时,很容易犯错误}表示\\
- 因此Windows允许您使用\
刚在我的机器上测试
/