在Qt中将文件保存到网络

时间:2012-08-21 19:36:08

标签: c++ qt network-programming save qfile

我需要将文件保存到公司的网络中。这需要编码到我的应用程序中,而不是使用文件对话框或任何东西。当我保存文件而没有指定路径时,它在我的应用程序所在的目录中完全保存它但当我尝试这样做时,网络没有任何反应。这是我必须保存的。

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的。)

有没有人知道怎么做/我的代码出了什么问题?

1 个答案:

答案 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允许您使用\

刚在我的机器上测试

/