写入文件时, ios::ate和ios:app什么区别? 在我看来, ios::app让你能够在文件中移动,而使用ios::ate它只能在文件末尾读/写。 它是否正确?
可能重复: 我需要手动closures一个ifstream吗? 我需要调用fstream.close()还是fstream一个适当的RAII对象,closures销毁的stream? 我有一个方法内的本地std::ofstream对象。 我可以假定文件在退出这个方法后总是closures而不需要调用close? 我找不到析构函数的文档。
我testing了两种书写configuration: 1)Fstream缓冲: // Initialization const unsigned int length = 8192; char buffer[length]; std::ofstream stream; stream.rdbuf()->pubsetbuf(buffer, length); stream.open("test.dat", std::ios::binary | std::ios::trunc) // To write I use : stream.write(reinterpret_cast<char*>(&x), sizeof(x)); 2)手动缓冲: // Initialization const unsigned int length = 8192; char buffer[length]; std::ofstream stream("test.dat", std::ios::binary | std::ios::trunc); // Then I put manually the data in the buffer // […]
我有一个fstream my_file(“test.txt”),但我不知道test.txt是否存在。 如果存在的话,我想知道我是否也可以阅读。 怎么做? 我使用Linux。
对不起,如果这是相当不好的,但我很新的C ++。 我试图打开一个文件,并阅读使用ifstream : vector<string> load_f(string file) { vector<string> text; ifstream ifs(file); string buffer, str_line; int brackets = 0; str_line = ""; while ( getline(ifs, buffer) ) { buffer = Trim( buffer ); size_t s = buffer.find_first_of("()"); if (s == string::npos) str_line += "" + buffer; else { while ( s != string::npos ) { […]
我确定我刚刚在手册中错过了这个,但是如何从fstream头文件中使用C ++的istream类来确定文件的大小(以字节为单位)?
我试图使用std :: fstream为io文件,并且我想创build该文件,如果它不存在。 std::fstream my_stream my_stream.open("my_file_name",std::fstream::binary | std::fstream::in | std::fstream::out); if(!my_stream) std::cout<<"error"<<strerror(errorno); 我得到这个结果:“没有这样的文件或目录。” 在这种情况下如何创build文件?
如果我用fstream打开一个文本文件,是否有一个简单的方法来跳转到特定的行,如第8行?
我在一个介绍文件的教程(如何从\到文件中读写) 首先,这不是一项功课,这只是我寻求的一般帮助。 我知道如何一次读一个单词,但是我不知道如何一次读一行或怎样读整个文本文件。 如果我的文件包含1000个字怎么办? 阅读每个单词是不实际的。 我的文本文件(读取)包含以下内容: 我喜欢玩我爱读的游戏我有2本书 这是我迄今为止所取得的成就: #include <iostream> #include <fstream> using namespace std; int main (){ ifstream inFile; inFile.open("Read.txt"); inFile >> 是否有任何可能的方法来读取整个文件,而不是阅读每行或每个单词分开?
有一种(跨平台)的方式从C ++ std :: fstream获取C FILE *句柄吗? 我问的原因是因为我的C ++库接受fstreams和在一个特定的函数,我想使用一个C库,接受FILE *。