C++相談室 part166 (390レス)
C++相談室 part166 http://mevius.5ch.net/test/read.cgi/tech/1745631298/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
321: デフォルトの名無しさん (ワッチョイ b1d6-xkro) [sage] 2025/06/17(火) 11:13:00.43 ID:4NySVCEQ0 ファイナルをクローズした時にエラーとなるのですが、これは正しいのでしょうか。 やはり、クローズはデストラクタに任せた方がいいのでしょうか。 #include <iostream> #include <fstream> int main() { constexpr auto path = "tmp.txt";//なんでもいいです std::ifstream ifs(path); if(ifs.fail()){ std::cerr << "File open error: " << path << std::endl; return -1; } std::string buf; while(std::getline(ifs, buf)) std::cout << buf << std::endl; ifs.close(); //←これ if(ifs.fail()){ std::cerr << "File close error: " << path << std::endl; return -1; } return 0; } http://mevius.5ch.net/test/read.cgi/tech/1745631298/321
326: デフォルトの名無しさん (ワッチョイ b1d6-xkro) [sage] 2025/06/17(火) 12:43:21.70 ID:4NySVCEQ0 >>322,324,325 ありがとうございました。勉強になります。 ProgramminPlacePlus でのサンプルを元にしました。 なーる真面目にやるなら閉じる前後で色々とやらんといかんのですね。 今までは readdata=string((istreambuf_iterator<char>(ifs)), istreambuf_iterator<char>()); の感じで、一気にファイル内容をstrigに取り込むような場合は、もう読み込みは無いのですぐに ifs.close()してました。 デストラクタに任せてもいいのですが、今後も使わなくなったら、即close()したいと思います。 そんなにシビアにならんでもいいようですし・・・mOm http://mevius.5ch.net/test/read.cgi/tech/1745631298/326
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.949s*