回答
请注意,directories(或“文件夹”)对于C++ 11或C++ 14标准是未知的。 C++ 17有std::filesystem
名称空间<filesystem>
标准头。
还要注意对Windows在file paths目录分隔符是反斜杠\
(但POSIX和Linux是一个斜杠/
)。某些运行时系统(和C++标准库)可能会在Windows上的文件路径中将正斜杠/
转换为反斜杠\
。检查您的文档以查看您的实施是否执行了该转换。
许多架构库(包括Qt & POCO & Boost)提供有关目录,文件的路径和文件系统抽象。
我没有Windows(我很高兴只在工作和家中都使用Linux),但我想你可以通过D:downloads\sample.txt
作为std::ifstream
的路径。当然,你需要转义反斜线在你的文本字符串:
std::ifstream myinput("D:downloads\\sample.txt");
(我猜测,downloads
应以大写Downloads
开始,但我离开你检查,还对法国的系统它可能是一个不同的目录Téléchargements
但你应该检查,我会建议使用像D:\Downloads\sample.txt
一些绝对文件路径;当然你一定要逃逸一个字符串两个反斜杠)
注意,文件路径不URL(但是URL为起始与file:
方案通过其文件路径指定本地文件)。 AFAIK你需要一些外部库来处理这样的URL。如果您坚持提供完整的URL,您最好在实践中使用一些HTTP客户端库(例如libcurl),因为大多数URL都是针对HTTP的。
你以后可能会测试该输入流是否正确打开:
if (!myinput.is_opened())
throw throw std::runtime("failed to open myinput");
然后,你可以使用operator >>例如从它解析
int x=0;
myinput >> x;
你可以在以后使用的一元operator !检查针对输入分析失败。
不错的答案,只是一个可能的陷阱笔记:Windows有一个当前目录**每个驱动器**,所以写'D:下载\\样品。txt'是相对于驱动器'D'上当前目录的路径。更好地编写'D:\\ downloads \\ sample.txt'。 –
@FelixPalmen:第一个代码片段说的那个注释。 –
@FelixPalmen:另外,即使MS-DOS也有一个当前目录*每个驱动器*。 –
- 1. 如何打开的文件的路径为路径的目录
- 2. 使用来自NSDictionary的网址方案打开特定路径
- 3. 搜索带有特定目录及其子目录路径的特定文件
- 4. 使用fileInput打开特定目录Shiny R
- 5. 目录路径
- 6. 检测用户的路径中是否有特定的目录
- 7. 使用绝对路径打开文件
- 8. TomCat:使用类路径打开文件
- 9. 如何从目录中打开Vim时自动设置路径?
- 10. 使用Express指定特定路径
- 11. 如何使用Java获取特殊系统目录的路径
- 12. PHP路径目录
- 13. 得到错误,当我尝试打开文件中使用特定的路径
- 14. 如何使jFilechooser双击打开特定目录?
- 15. PHP目录路径使用变量
- 16. 如何在特定路径中但不在其子目录中使用`cookie`
- 17. 在Nodejs中使用斜杠或点斜杠(/或../)的特定目录路径
- 18. Maven - 项目特定的类路径
- 19. 在linux中执行某个特定目录中的路径
- 20. 在Python中查找目录中的特定路径
- 21. c#检查文件路径是否包含特定目录
- 22. 获取批处理脚本中特定路径的父目录
- 23. 无法打开HDFS路径
- 24. 轨道打开路径
- 25. 指定目录路径在JavaScript混淆
- 26. Magento:目录在/目录url路径
- 27. 可以使用通配符指定目录路径吗?
- 28. 在Bash中使用指定路径对目录进行迭代
- 29. 301重定向单个目录的子目录路径
- 30. 沿目录路径的ACL
这个问题很不清楚。你只是想知道如何[打开一个文件](http://www.cplusplus.com/reference/fstream/fstream/open/)?顺便说一句,这与你如何在[tag:c]中做的很大不同,所以请不要添加不相关的标签! –
你看起来很困惑。文件路径不是* URL。 –