簡體   English   中英

C ++從全0的文本文件給出細分錯誤

[英]c++ gives Segmentation Fault from text file of all 0's

我正在編寫一個非常簡單的代碼(或我認為),需要讀取2個文本文件。一個充滿一堆數據點(雙精度類型),另一個充滿一堆0(這只是在某些時候充滿0,有時是其他數字,所以我需要它同時適用於0和非零),如下所示:

0
0
0
..

我正在將這些讀入向量,如下所示:

vector <double> E;
vector <double> M;
ifstream Ein("E.txt");
ifstream Min("M.txt");

while ( Ein >> value ) {
        E.push_back(value);
    }

     while ( Ein >> value ) {
        M.push_back(value);
    }

在我注釋掉M個向量之后,這對於向量E(具有實際值的那個)非常有效。 但是,每當我包含M向量(全0)時,我在運行程序時都會遇到分段錯誤。

這意味着C ++無法理解0作為輸入嗎? 有人對如何使它起作用有任何想法嗎?

提前致謝!

對於第二個while循環,您是否想擁有:

while ( Min >> value ) {
   M.push_back(value);
}

您遇到了細分錯誤,因為Ein達到了EOF。 另外,您可能要關閉輸入流:)

您應該確保關閉文件流,並且還要從同一文件讀取兩次,這就是為什么出現段錯誤的原因

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM