C++ 如何创建文件和文件夹,然后将该文件保存到文件夹中?
我想创建一个文件夹,然后将文件保存到该文件夹中。我编写了自动创建文件的代码,我想将文件保存到一个文件夹中。我试过很多代码,但都不管用。下面是我最后一次尝试的代码,但仍然不起作用:C++ 如何创建文件和文件夹,然后将该文件保存到文件夹中?,c++,c++builder,C++,C++builder,我想创建一个文件夹,然后将文件保存到该文件夹中。我编写了自动创建文件的代码,我想将文件保存到一个文件夹中。我试过很多代码,但都不管用。下面是我最后一次尝试的代码,但仍然不起作用: void rooms() { Name rooms; Name rooms2; Name rooms3; Name staff; int b; char choicedo; string filename; string input; do
void rooms() {
Name rooms;
Name rooms2;
Name rooms3;
Name staff;
int b;
char choicedo;
string filename;
string input;
do
{
ofstream bilik2;
bilik2.open("rooms2.txt", ios::out | ios::app);
if(!bilik2)
{
cout<<"File Not Found!";
exit(1);
}
if(bilik2 == NULL)
{
cout << "Error! Rooms is empty!";
break;
}
ofstream bilik3;
bilik3.open("rooms3.txt", ios::out | ios::app);
if(!bilik3)
{
cout<<"File Not Found!";
exit(1);
}
if(bilik3 == NULL)
{
cout << "Error! Rooms is empty!";
break;
}
cout<<"1. Single Rooms "<<endl;
cout<<"2. Family Rooms "<<endl;
cout<<"3. Royal Rooms "<<endl;
cout<<endl;
cout<<"\nRooms type: ";
cin >> b;
system("cls");
cout<<"Please fill in requirement information "<<endl;
switch(b)
{
case 1:
{
cout<<"Room No: ";
cin>>filename;
input = filename;
cin.ignore();
//ofstream input("C:\\Users\\Dr. Akilah\\Desktop\\BLUE\\single room");
mkdir("singleroom");
ofstream outfile("singleroom");
//system("mkdir singleroom");
outfile.write(input.c_str(), input.size());
input += ".txt";
outfile.close();
ifstream ifile(input.c_str());
if(ifile)
{
cout<<"Room is already exist."<<endl;
exit(1);
}
ofstream out(input.c_str());
//out.open("C:/Users/Dr. Akilah/Desktop/BLUE/single room/ ", ios::out | ios::app);
ofstream bilik;
bilik.open(input.c_str(), ios::out | ios::app);
cout<<endl;
cout<<"Air Conditioner: ";
cin.getline(rooms.airc, 20);
cout<<"Date: ";
cin.getline(rooms.date, 20);
cout<<"Insert by: ";
cin.getline(staff.first, 20);
bilik<<"List of Single Rooms"<<endl;
cout<<endl;
bilik<<"------------------------------------------------------------"<<endl;
bilik<<endl;
bilik<<" Room No: "<<filename<<endl;
bilik<<endl;
bilik<<"Air Conditioner: "<<rooms.airc<<endl;
bilik<<endl;
bilik<<"Regsitration Date: "<<rooms.date<<endl;
bilik<<endl;
bilik<<"Created by: "<<staff.first<<endl;
bilik<<endl;
bilik<<endl;
bilik<<"------------------------------------------------------------"<<endl;
bilik.close();
break;
}
case 2:
{
cout<<endl;
cout<<"Room no: ";
cin>>rooms2.room;
cin.ignore();
cout<<"Air Conditioner: ";
cin.getline(rooms2.airc, 20);
cout<<"Date: ";
cin.getline(rooms2.date, 20);
cout<<"Insert by: ";
cin.getline(staff.first, 20);
break;
}
case 3:
{
cout<<endl;
cout<<"Room no: ";
cin>>rooms3.room;
cin.ignore();
cout<<"Air Conditioner: ";
cin.getline(rooms3.airc, 20);
cout<<"Date: ";
cin.getline(rooms3.date, 20);
cout<<"Insert by: ";
cin.getline(staff.first, 20);
break;
}
default:
cout<<"Invalid choice "<<endl;
cout<<endl;
Sleep(1000);
//return 0;
}
cout<<"Enter Y To input an other data or Enter N to Exit: ";
cin>>choicedo;
cout<<"_____________________________________"<<endl;
cout<<endl;
}
while (choicedo=='y' || choicedo=='Y');
}
void房间(){
命名房间;
命名房间2;
命名房间3;
工作人员姓名;
int b;
char choicedo;
字符串文件名;
字符串输入;
做
{
胆汁流;
bilik2.open(“rooms2.txt”,ios::out | ios::app);
如果(!bilik2)
{
cout只接受一个字符,而不是C字符串;为此,您应该使用:
单击该链接可查看我的照片。很抱歉给您带来不便,这是我第一次使用此网站。谢谢。不要发布文本图像的链接。甚至不要发布文本图像。请将实际文本复制粘贴到问题正文中。请。您可能还应该学习如何创建。顺便问一下,您的问题是什么?是ab吗排除生成错误?或者是如何创建文件夹,然后在文件夹中创建文件?请每个问题回答一个问题!主要问题是我想创建一个文件夹,然后将文件保存到该文件夹中。您已经知道如何操作(mkdir()
和std::ofstream
),那么您在使用它们时遇到的真正问题是什么?可能是因为您使用的是相对路径。始终使用绝对路径。我尝试了此代码,但我的文件仍然保存在主文件夹中,而不是我要保存它的文件夹中,在本例中,是我命名为singleroom的文件夹。因为您没有发布实际代码,我无法帮助解决该问题;就您所展示的一点内容而言,编译错误是我唯一能帮助解决的问题。请阅读@Someprogrammerdude发布的链接,并相应地更新您的问题。您能告诉我将文件保存到文件夹中的最简单方法吗?谢谢。这是一个太广泛的请求;但是发布您的代码,我可能能够帮助您更正w这就是这个网站的工作方式…;-]我发布了我的部分代码。请查看。问题出在案例1中。
outfile.write(input.c_str(), input.size());