gpt4 book ai didi

c++ - 在c++中命名文件

转载 作者:行者123 更新时间:2023-11-27 23:47:29 25 4
gpt4 key购买 nike

当我运行这段代码时,第二个和第三个文件的名称第一个字符消失了例如,如果我将第二个文件命名为 set2.txt,它将是 et2.txt

#include <iostream>
#include <fstream>
using namespace std;
int main()
{

fstream set1,set2,set3;
string name;
cout<<"Enter set1 name: ";
cin.ignore();
getline(cin , name);
set1.open(name,ios::out);
cout<<"Enter set2 name: ";
cin.ignore();
getline(cin , name);
set2.open(name,ios::out);
cout<<"Enter set3 name: ";
cin.ignore();
getline(cin , name);
set3.open(name,ios::out);
}

最佳答案

the first character disappear

那是因为你忽略了该行的第一个字符

cin.ignore();

在你阅读一行文本之前

getline(cin , name);

这两行的顺序错了。相反,他们应该是

getline(cin , name);
cin.ignore();

cin.ignore() 的目的是在您使用 getline() 读取一行文本之后从输入流中删除换行符

关于c++ - 在c++中命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49477555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com