我需要编写一个程序来搜索文本文件并列出该文件包含的名称列表。每个名称都放在“[PRG]”短语之后。所以我想搜索“PRG”而不是阅读下一个单词。我有一个问题,因为这个文件的编码是 UCS-2 LE。我发现我需要使用“wstring”变量而不是“string”。但我看到我正在从我的文件中读取奇怪的值,我无法将它们与“PRG”短语进行比较。
这是代码:
int main() {
wstring textBuff; // Buffor for reading text from a file
wstring searchBuff = L"PRG"; // Variable containing searching phrase
wifstream file;
file.open("programs.prg", ios::in | ios::binary);
if (file.good()) {
// Reading file and listing every word after "PRG" phrase
while (!file.eof()) {
file >> textBuff;
if (textBuff.find(searchBuff) != string::npos)
wcout << textBuff << endl;
}
}
file.close();
system("pause");
return 0;
}
我是编程新手,所以如果我的问题是微不足道的,我很抱歉,但我被困住了,我不知道我还能做什么。先感谢您。
这是我试图从中获取数据的 prg 文件: .prg 文件
它包含一堆其他数据,但我想做的是列出烘焙程序的名称。所以我想搜索 [PRG],而不是再读两个词,然后得到其余的行,这是烘焙程序的名称。