我正在尝试编写一个简单的程序,用键盘测试用户效率(现在只是每分钟的单词和准确度),但我对文件操作部分有困难。我想要一个存储在.txt文件中的单词列表(为了便于编辑),如下所示:
cheese
computer
photograph
download
etc...
我希望能够将整个.txt文件转换为二进制文件,每个单词都会进入.dat文件中的一个条目,但是我很难搞清楚fstream如何从中读取数据一个.txt文件。使用fstream从列表中读取单词的最简单方法是什么,以便将它们添加到二进制文件中的条目中?
答案 0 :(得分:1)
如果文件是ASCII文件,则每个字节都存储为ASCII等效字节。二进制文件只是原始数据,无需任何转换即可存储。就你的问题而言,你可以做到以下几点:
答案 1 :(得分:-1)
从fstream读取实际上非常简单。每行都由«getline»读取,直到«fstream.is_good»返回«false»。另请查看tutorials at cplusplus.com。这应该这样做:
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
int main() {
fstream myfile;
string line;
myfile.open("sample.txt");
if ( myfile.is_open() ) {
while ( myfile.good() ) {
getline( myfile, line);
// conversion and output function goes here
// this example just prints it to stdout
cout << line << endl;
}
myfile.close();
} else {
cerr << "could not open file" << endl;
}
return 0;
}