cannot convert 'FILE**' to 'const char* ' for argument '1' to 'FILE*' fopen(const char*,const char*)'
时间: 2023-10-21 18:04:00 浏览: 283
string、cstring 、char* 转化问题
这个错误是因为你把一个 `FILE**` 类型的指针作为参数传递给了 `fopen` 函数,而 `fopen` 函数期望的是两个 `const char*` 类型的字符串作为参数。
你需要检查一下你的代码,看看是否错误地把一个指向 `FILE*` 类型的指针的地址作为参数传递给了 `fopen` 函数。如果你想打开一个文件并获取指向该文件的指针,在调用 `fopen` 函数之前,你需要声明一个 `FILE*` 类型的指针,然后将其指向 `fopen` 函数的返回值。
以下是一个使用 `fopen` 打开文件的示例代码:
```
#include <stdio.h>
int main() {
FILE* file_ptr = fopen("example.txt", "r");
if (file_ptr == NULL) {
printf("Failed to open file!\n");
return 1;
}
// Do something with the file...
fclose(file_ptr);
return 0;
}
```
在这个示例中,我们声明了一个指向 `FILE` 结构体的指针 `file_ptr`,然后使用 `fopen` 函数打开名为 `example.txt` 的文件,并以只读形式打开它。如果 `fopen` 函数返回的指针为 `NULL`,则表示打开文件失败,我们将输出一条错误消息并返回一个非零的值。否则,我们可以使用 `file_ptr` 指向的文件进行一些操作,最后使用 `fclose` 函数关闭文件并释放该指针指向的内存。
阅读全文