ユーザーのTempディレクトリ%localappdata%/ Temp内のフォルダを削除して残っている空のフォルダを削除しようとしていますが、ユニコードパスを考慮する必要があります。ユーザーのTempディレクトリ内のフォルダを削除しますが、ユニコードフォルダ名も考慮してください
私が使っていた、
double delete_tempfolder(const char* directory_name) {
rmdir(directory_name);
return 1;
}
int main(){
delete_tempfolder("C:\\Users\\USER\\AppData\\Local\\Temp\\TMPDIR");
cin.get();
return 0;
}
しかし、すぐにディレクトリが非ASCII文字を使用して、rmdirをは動作を停止し、私はそれが可能な通常、そのパス内のユーザー名のフォルダなどのUnicode文字で作業する必要がありますそれらを持っています。
どのコンパイラを使用していますか? 'char'配列はワイド文字列を保持できません。 Visual Studioでは、[_wrmdir](https://msdn.microsoft.com/en-us/library/wt8es881.aspx)を使用できます。 –
MinGW g ++を-static-libgccで使用しています。-static-libstdC++ -D UNICODE -D _UNICODE -O3 -DNDEBUG -s -o "_Test.exe" – user780756
MinGWはまだ '_wrmdir()'にアクセスする必要があります。そうでない場合は、MinGW-w64を使用してください。文字列リテラルの前に 'L '(したがって' L "C:\\ whatever.txt" ')を付け、' char * 'の代わりに' wchar_t * 'を使用してください。 – andlabs