c++ - Fopen 没有打开文件,但文件存在

标签 c++ fopen

我写

FILE * new_file = fopen("Penguins.jpg","rb");

我完全相信该文件存在并且位于正确的目录中。我还尝试了很多不同的模式,比如 "rb+" "r"。我还修改了像 fopen("C:\Penguins.jpg","rb"); 编译器这样的路径:

enter image description here

此外,openCV 打开文件。但我需要在 FILE* 中。怎么了?

最佳答案

为了表示字符串中的特殊字符,必须在其前面加上反斜杠。

由于反斜杠本身也是一个特殊字符,因此必须在其前面加上另一个反斜杠。

所以改变这个:

fopen("C:\Penguins.jpg","rb");

对此:

fopen("C:\\Penguins.jpg","rb");

请注意,您需要将此应用于作为代码一部分的字符串,即由编译器而非预处理器“处理”的字符串(例如包含的名称例如头文件)。

关于c++ - Fopen 没有打开文件,但文件存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23413028/

相关文章:

c++ - Windows和Linux之间的相对路径分辨率差异?

php - fopen php mysql import - sql 中的空行

C++ fopen fwrite 与我选择的特定路径

c++ - 第一次机会异常 - 长时间在内存位置?

c++ - 绘制 GL_TEXTURE_RECTANGLE 与 GL_TEXTURE_2D

C++:在字符串中查找一个字符,然后在前一个字符之后查找另一个字符

c - 在 malloc 中打开带有路径的文件

c++ - 使用 CreateFile 打开文件*

c++ - 使用 OpenCV 进行箭头形状检测

c++ - 为什么 C++ 标准库没有具有连续内存的双端队列版本?