0
我做了我的簡單txt掃描器,他將文本寫入與我的選擇匹配的文件中。問題是寫入文件時,而不是筆寫入,例如,洀漀。在照片中可以看到,例如:將Unicode字符串寫入一個txt文件
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
int offset;
wstring DBSearchLine, ScanLine;
wifstream ScanFile, DBSearchFile;
wofstream ResultFile;
ScanFile.open("ScanFile.txt", ios_base::binary);
ResultFile.open("ResultFile.txt", ios::out, ios_base::binary);
if (ScanFile.is_open())
{
while (!ScanFile.eof())
{
DBSearchFile.open("DBSearchFile.txt", ios_base::binary);
if (!DBSearchFile.is_open())
{
cout << "Error open DBSearchFile.txt" << "\n";
break;
}
getline(ScanFile, ScanLine);
wcout << "Scan line is - " << ScanLine << "\n";
while (!DBSearchFile.eof())
{
getline(DBSearchFile, DBSearchLine);
wcout << "DBSearchLine is -" << DBSearchLine << "\n";
if ((offset = ScanLine.find(DBSearchLine, 0)) != string::npos)
{
ResultFile << ScanLine << L"\n";
}
}
DBSearchFile.close();
}
ScanFile.close();
}
else
{
cout << "Error open ScanFile.txt" << "\n";
}
system("PAUSE");
return 0;
}
請問,如果你使用字符,而不是寬字符工作的呢? – ZDF
@ZDF如果你的意思是字符串是無法使用getline的wstring,因爲插入的字符串是wstring。並且在編碼方面應該有所不同 – Marek
'ResultFile.open(「ResultFile.txt」,ios :: out,ios_base :: binary)' - 不應該是'ios :: out |的ios_base :: binary'?此外,不能再現 - 鏗鏘3.9.0,Ubuntu 14.04.05 x86_64。 –