前提・実現したいこと
初心者です。
フォルダの中のファイル名を取得して、それぞれのファイルを読み込んでXORしてから同じファイルに書き込みたいです。
ファイル名は取得出来ましたが書き込みがうまくいってないようです。
実行後にファイルを確認すると中身が空になっています。
どうすれば実現で知るでしょうか?よろしくお願いします。
発生している問題・エラーメッセージ
ファイルの中身が空になっています。
該当のソースコード
c++
1void getFileNames(std::string folderPath, std::vector<std::string>& file_names) 2{ 3 directory_iterator iter(folderPath), end; 4 const char* ch; 5 FILE* fi, * fo; 6 int value; 7 int key = 123456; 8 9 for (; iter != end && !err; iter.increment(err)) { 10 const directory_entry entry = *iter; 11 file_names.push_back(entry.path().string()); 12 ch = file_names.back().c_str(); 13 //cout << ch << std::endl; 14 15 fi = std::fopen(ch, "r"); 16 if (fi == NULL) return; 17 18 fo = std::fopen(ch, "w"); 19 if (fo == NULL) return; 20 21 while ((value = std::getc(fi)) != EOF) { 22 std::putc(value ^ key, fo); 23 } 24 fclose(fi); 25 fclose(fo); 26 } 27 return; 28}
補足情報(FW/ツールのバージョンなど)
Visual Studio 2019
回答2件
あなたの回答
tips
プレビュー