将文件命名为C

naming the file in c++

本文关键字:命名为 文件      更新时间:2023-10-16

当我运行此代码时,第二&第三文件的名称第一个字符消失了例如,如果我命名了第二个文件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); 
    }

第一个字符消失

那是因为您忽略了第一个字符

cin.ignore();

在阅读

的文字线之前
getline(cin , name);

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

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

cin.ignore()的目的是在之后从输入流中删除Newline字符,您使用getline()