คำถามติดแท็ก ifstream

5
ฉันต้องปิด ifstream ด้วยตนเองหรือไม่
ฉันต้องโทรด้วยตนเองclose()เมื่อใช้std::ifstreamหรือไม่ ตัวอย่างเช่นในรหัส: std::string readContentsOfFile(std::string fileName) { std::ifstream file(fileName.c_str()); if (file.good()) { std::stringstream buffer; buffer << file.rdbuf(); file.close(); return buffer.str(); } throw std::runtime_exception("file not found"); } ฉันต้องโทรfile.close()ด้วยตนเองหรือไม่ ไม่ควรifstreamใช้RAIIสำหรับการปิดไฟล์?
201 c++  ifstream  raii 

6
รับมาตรฐาน :: ifstream เพื่อจัดการ LF, CR และ CRLF หรือไม่
ฉันสนใจistream& getline ( istream& is, string& str );โดยเฉพาะ มีตัวเลือกสำหรับตัวสร้าง ifstream เพื่อบอกให้แปลงการเข้ารหัสบรรทัดใหม่ทั้งหมดเป็น '\ n' ภายใต้ประทุนหรือไม่ ฉันต้องการที่จะสามารถโทรgetlineและให้มันจัดการกับจุดสิ้นสุดของบรรทัดทั้งหมดได้อย่างสง่างาม อัปเดต : เพื่อความชัดเจนฉันต้องการที่จะสามารถเขียนโค้ดที่รวบรวมได้เกือบทุกที่และจะรับข้อมูลจากเกือบทุกที่ รวมถึงไฟล์หายากที่มี "\ r" โดยไม่มี "\ n" ลดความไม่สะดวกสำหรับผู้ใช้ซอฟต์แวร์ใด ๆ เป็นเรื่องง่ายที่จะแก้ไขปัญหานี้ แต่ฉันยังคงสงสัยเกี่ยวกับวิธีที่ถูกต้องในมาตรฐานเพื่อจัดการกับรูปแบบไฟล์ข้อความทั้งหมดได้อย่างยืดหยุ่น getlineอ่านเป็นบรรทัดเต็มถึง '\ n' เป็นสตริง '\ n' ถูกใช้จากสตรีม แต่ getline ไม่รวมไว้ในสตริง จนถึงตอนนี้ แต่อาจมี "\ r" อยู่ก่อนหน้า "\ n" ที่รวมอยู่ในสตริง มีสามประเภทของการสิ้นสุดบรรทัดที่เห็นในไฟล์ข้อความ: '\ n' คือการลงท้ายแบบเดิมบนเครื่อง …
85 c++  ifstream  newline 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.