I.C.H. 2022-05-13 12:32 采纳率: 100%
浏览 26
已结题

C++程序编译时报错未初始化某个变量,如何解决?

问题遇到的现象和发生背景

本来是想自动更改文件名的,所以设置了一个字符串变量shuru用来接受新文件名,但是在传递值的时候报错了。

问题相关代码,请勿粘贴截图
string shuru=“***.txt”; // ***是文件名
const char* fname = shuru;
fstream fs;
fs.open(fname,ios::in);

运行结果及报错内容
[Error] cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*' in initialization

我的解答思路和尝试过的方法
我想要达到的结果

将shuru变量值传递给fs变量。

  • 写回答

2条回答 默认 最新

  • 丨秋水丨 2022-05-13 12:54
    关注

    要使用shuru.c_str()

        string shuru = "* **.txt"; // ***是文件名
        const char* fname = shuru.c_str();
        fstream fs;
        fs.open(fname, ios::in);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月22日
  • 已采纳回答 5月14日
  • 创建了问题 5月13日

悬赏问题

  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译