严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C2664 “FILE *fopen(const char *,const char *)”: 无法将参数 1 从“std::string”转换为“const char *” C:\Users\dell\source\repos\编译原理\Project3\Project3.vcxproj C:\Users\dell\source\repos\编译原理\Project3\源.cpp 64 \
时间: 2023-06-28 22:13:51 浏览: 168
利用C语言替换文件中某一行的方法
这个错误是因为 `fopen` 函数需要的是一个 `const char *` 类型的参数,而你传入的是一个 `std::string` 类型的对象。你需要将 `std::string` 转换为 `const char *` 类型。可以使用 `c_str()` 函数来实现这个转换。
比如说,假设你有一个叫做 `filename` 的 `std::string` 对象,你可以使用下面的代码来打开文件:
```c++
FILE *file = fopen(filename.c_str(), "r");
```
这样就可以把 `filename` 对象转换为 `const char *` 类型,然后传入 `fopen` 函数中了。
阅读全文