これは設計上の問題ではありませんが、そのように思えるかもしれません。(まあ、それは一種の設計上の問題です)。私が疑問に思っているのは、なぜ C++std::fstream
クラスがstd::string
コンストラクターまたはオープン メソッドで を使用しないのかということです。誰もがコード例が大好きなので:
#include <iostream>
#include <fstream>
#include <string>
int main()
{
std::string filename = "testfile";
std::ifstream fin;
fin.open(filename.c_str()); // Works just fine.
fin.close();
//fin.open(filename); // Error: no such method.
//fin.close();
}
これは、ファイルを操作するときに常に私を悩ませます。確かにC++ライブラリはstd::string
可能な限り使用しますか?