テキストファイルのテキストで行を検索して削除する方法を知りたいです。このトピックを見た後->テキストファイルから特定の行を削除しますか? 私はC#でこのコードを見つけました:
string line = null;
string line_to_delete = "the line i want to delete";
using (StreamReader reader = new StreamReader("C:\\input")) {
using (StreamWriter writer = new StreamWriter("C:\\output")) {
while ((line = reader.ReadLine()) != null) {
if (String.Compare(line, line_to_delete) == 0)
continue;
writer.WriteLine(line);
}
}
}
C++/CLI で次のようなものに変換しようとしました。
System::String^ txtfile = L"C:\\Users\\acer\\Desktop\\aaa.txt";
String^ line = nullptr;
String^ line_to_delete = "dasdasdasda";
using (StreamReader ^reader = gcnew StreamReader(gcnew String(txtfile)) {
using (StreamWriter ^writer = gcnew StreamWriter(gcnew String(txtfile),true) {
while ((line == reader->ReadLine()) != nullptr) {
if (String.Compare(line, line_to_delete) == 0)
continue;
writer->WriteLine(line);
}
}
}
しかし、私はまだ初心者なので、正しくできていませんでした。一時ファイルを作成していないことに注意してください。テキストファイルを読み取り、「dasdasdasda」という行を検出して削除したいだけです。C# から C++/CLI に変換するときに何が間違っていたのか誰か教えてもらえますか?