ifstream kullanarak bir dosyayı okumaya çalışıyorum. Aşağıdaki hataya geldim: Vector subscript aralık dışı Bu, açılan dosyanın kapanış deyimine ulaşana kadar olur, onu kaldırmak bir istisna neden olmaz.Vektör altyazısı, ifstream kapandıktan sonra aralık dışındadır
#include <fstream>
#include <algorithm>
#include <vector>
#include <string>
#include <iterator>
#include <sstream>
#include <iostream>
using namespace std;
int main()
{
ifstream ifile("myswearwords.txt");
if (!ifile.is_open())
{
cerr << "File not found!\n";
return false;
}
std::vector<std::string> myswearswords;
std::copy(std::istream_iterator<std::string>(ifile),
std::istream_iterator<std::string>(),
std::back_inserter(myswearswords));
// ifile.close(); -> exception rased, when I reach th ebrakpoint at this point
/// do further work
return 0;
}
kimse burada bana hata açıklayabilir misiniz: İşte bazı örnek kod?
doest:
arada, sonradan
myswearswords
içine kopyalayarak dahavector
yapıcı rater kullanarak kod geliştirmek olabilir? Int main() 'dan sonra 'unuttun. Eklendiğinde, ve 'ifile.close()' uncommented, benim durumumda istisna atılır (myswardwords.txt bazı rasgele metin eklendi) C++ 14 etkin GCC 4.9.3 kullanıyorum. DÜZENLEME: Ayrıca, iostream' içermiyorsunuz ama 'std :: cerr' kullanmıyorsunuz. Kodun kırılabileceğinden emin değil (derlenememeyi bekliyorum) – xinaiz