首页 > 解决方案 > ofstream 具有自定义名称和路径

问题描述

我想制作一个存储在特定文件夹(string path = "C:\Users\")中的 bat 文件,其名称由用户指定并保存在字符串中。怎么做?

我在另一个问题上看到了类似的内容:(path\\filename),但在我的情况下,名称是一个字符串,所以我不知道如何制作它。

void BatFile()
{
    std::string filename, username;
    std::cout << "Name your save file in database:\n\n"; std::cin >> filename;
    filename = filename + ".bat";
    std::ofstream batout(filename);
    std::cout << "Username="; std::cin >> username;
    batout.open(filename);
    batout <<""; //write to bat file.
    batout.close();
}

我将路径放在字符串中,因为我不知道我是否不会让用户选择他想要保存该 bat 文件的目录。

标签: c++

解决方案


您可以将strings 与+.

像这样:

std::string directory = ”C:/this/that/”;
std::string name;
if (std::cin >> name)
{
    std::ofstream out(directory + name + ”.bat”);
    out << ”Hello, Joe!”;
}

推荐阅读