c++ - 创建与输入同名的文件

标签 c++ visual-c++ io

cout << "Enter your full name";
char* name ;

cin >> name;
  if( _mkdir("c:\\names") == 0 ) {
     cout << "directory successfully created";
  }  else {
       cout << "there was a problem creating a directory";
     }

现在我想在目录names 中创建一个文件(一个.txt 文件),其名称与用户 的名称相同>。我的意思是用户在 cin >> name; 期间输入的名称。

我该怎么做?

ofstream writeName( "c:/names/????); ----> 问题

最佳答案

使用 std::string 而不是 char*。因为它是您的代码具有未定义的行为。使用 std::getline 而不是 >>。使用 >>> 仅输入第一个以空格分隔的“单词”。然后,在 std::string 中组成完整路径。标准字符串类支持连接,所以这应该很容易。

比如说,如果那个字符串是path

std::ofstream f( path.c_str() );

干杯,

关于c++ - 创建与输入同名的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6530120/

相关文章:

c - 如何在C中向后读取文件?

c++ - 从静态函数创建类对象

c++ - 我们如何使用#pragma 警告禁用链接器警告?

c++ - C++ 编译器是否优化按值返回成员变量

c++ - 使用筛法进行素因数分解

c++ - 无法创建退出按钮

java - 在Java中打印文本文件的确切内容

c++ - 从标准 I\O 流读取和写入会导致错误

c++ - 谷歌测试中的使用线程

c++ - c++ 内联显式构造函数有什么用?