2016-01-28 1 views
0
#include "Stdafx.h" 
    #include "FishTracker.h" 
    #include <string> 
    #include "Utils.h" 
    #include <fstream> 

    using namespace std; 
    using namespace cv; 
    int main() 
    { 
     std::string videopath; 
     videopath = "E:\\TUKLNUST\\fishdata2\\Damo\\AR2-6\\Tetraodontidae_Lagocephalus_sceleratus_AD\\00001\\"; 

     ifstream str; 
     str.open((videopath + DATA_TXT).c_str()); 
     if (str.is_open()) 
     { 
      cout << "file is open."; 
     } 
    } 

файл открыт, но str - это.ошибка инициализации при запуске - ошибка считывания символов

+  str {_Filebuffer={_Set_eback=0xcccccccc <Error reading characters of string.> _Set_egptr=0xcccccccc <Error reading characters of string.> ...} } std::basic_ifstream<char,std::char_traits<char> > 

Configs:
win32, Debug
Visual Studio 2013

+0

Вы не можете использовать эти операторы вне функции. –

+0

да я использую их в основном –

+0

Опубликовать реальный код пожалуйста! –

ответ

0
#include "Stdafx.h" 
#include "FishTracker.h" 
#include <string> 
#include "Utils.h" 
#include <fstream> 

using namespace std; 
using namespace cv; 
int main() 
{ 
    std::string videopath; 
     videopath = "E:\\TUKLNUST\\fishdata2\\Damo\\AR2-6\\Tetraodontidae_Lagocephalus_sceleratus_AD\\00001\\"; 

     ifstream str; 
     str.open((videopath + "DATA_TXT").c_str()); 
     if (str.is_open()) 
    { 
     cout << "file is open."; 
    } 

}

+0

Я использую main. –

+1

@OmerJR, я добавляю ** "DATA_TXT" **, вы просто сделали это как переменную. – STF

+1

Я определил его как '#define DATA_TXT" Data.txt "' в FishTracker.h –