Sublime Text,当我在 Mac 上使用 fstream 写入文件时,我的文件存储在我的主文件夹中
Sublime Text, my file is stored in my home folder when I write a file using fstream on Mac
我在 mac 上使用 Sublime Text 3 编写 C++。我写了一些代码来获取我的姓名和年龄的 cin 值,并将它们写入文件 file.txt.
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
string name;
int age;
ofstream file("file.txt", ios::out);
cout<<"enter name: "<<endl;
cin>>name;
cout<<"enter age: "<<endl;
cin>>age;
file<<name<<" "<<age<<endl;
return 0;
}
问题是 "file.txt" 文件存储在我的主文件夹中,而不是我当前的工作目录中。
我怎样才能将它存储在我当前的工作目录中?
check this
这个问题太奇怪了,我不是 100% 完全确定 macOS,但这适用于 Linux 和 Windows。
#include <iostream>
#include <fstream>
int main(void) {
std::ofstream file("./file.txt", std::ios::out); // --- here add './' prefix
std::string name;
int age;
std::cout << "Enter your name: ";
std::getline(std::cin, name); // use std::getline() for whitespaces
std::cout << "Your age: ";
std::cin >> age;
file << name << ' ' << age << '\n';
return 0;
}
只要在文件名前加上./
来明确定义文件的输出目录必须与程序实际所在的目录相同运行ning.
另一个解决方案
如果上述解决方案失败,请再次尝试 g++ -o your_program your_program.cpp
和 运行 该程序。如果它像您预期的那样成功运行,则说明您的 Sublime Text 设置有问题。
我在 mac 上使用 Sublime Text 3 编写 C++。我写了一些代码来获取我的姓名和年龄的 cin 值,并将它们写入文件 file.txt.
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
string name;
int age;
ofstream file("file.txt", ios::out);
cout<<"enter name: "<<endl;
cin>>name;
cout<<"enter age: "<<endl;
cin>>age;
file<<name<<" "<<age<<endl;
return 0;
}
问题是 "file.txt" 文件存储在我的主文件夹中,而不是我当前的工作目录中。 我怎样才能将它存储在我当前的工作目录中? check this
这个问题太奇怪了,我不是 100% 完全确定 macOS,但这适用于 Linux 和 Windows。
#include <iostream>
#include <fstream>
int main(void) {
std::ofstream file("./file.txt", std::ios::out); // --- here add './' prefix
std::string name;
int age;
std::cout << "Enter your name: ";
std::getline(std::cin, name); // use std::getline() for whitespaces
std::cout << "Your age: ";
std::cin >> age;
file << name << ' ' << age << '\n';
return 0;
}
只要在文件名前加上./
来明确定义文件的输出目录必须与程序实际所在的目录相同运行ning.
另一个解决方案
如果上述解决方案失败,请再次尝试 g++ -o your_program your_program.cpp
和 运行 该程序。如果它像您预期的那样成功运行,则说明您的 Sublime Text 设置有问题。