FileReader issue C++
FileReader issue C++
关于我之前在这里发布的一个老问题,我问了一个关于FileOpen函数的问题。这个新问题涉及第二部分:FileReader。
我进行了更改,但仍然存在编译器错误。
这是麻烦的代码:
FILE *FileReader(FILE *fname){
ifstream inputFile;
inputFile.open(fname);
if(inputFile){
string line = "";
//int num_chars;
while(getline(inputFile, line)){
//num_chars = strlen(text) + 1;
//line = (string *)malloc(sizeof(string)*num_chars)
int i = 0;
if(i <= 3 ){
storString[i] = line;
storage[i] = atoi(storString[i].c_str());
i++;
}
else{
string firstTwo = line.substr(0,1);
const int hex = atoi(firstTwo.c_str());
setOperations(hex);
string commandOne = firstTwo.substr(0,0); //first part of command
string commandTwo = firstTwo.substr(1,1); //second part of command and n-i flags
string restFlags = line.substr(2,2); //xbpe flags
rest = line.substr(3);
int disp = atoi(rest.c_str());
if(format == "fmt2"){
string rOne = line.substr(2,2);
int registerOne = atoi(rOne.c_str());
string rTwo = line.substr(3,3);
int registerTwo = atoi(rTwo.c_str());
registerOperation(hex, registerOne, registerTwo);
break;
}
setFlags(commandTwo, restFlags, disp);
}
}
}
}
输出以下错误:
a1/a1.cpp:在函数FILE* FileReader(FILE*)
:
中a1/a1.cpp:338:错误:对std::basic_ifstream<char, std::char_traits<char> >::open(FILE*&)
的调用没有匹配的函数
/opt/local/bin//lib/gcc/sparc-sun-solaris2.10/3.4.6/../../include/c++/3.4.6/fstream:570:注意:候选为:void std::basic_ifstream<_CharT, _Traits>::open(con
st char*, std::_Ios_Openmode)
[其中_CharT=char,_Traits=std::char_Traits]
编辑:
查看那些注释掉的行。我也尝试过这些,但不知道如何实现。有人能帮我吗?
inputFile.open("inputFile.txt");
你也可以这样做:
string fileName = "inputFile.txt";
inputFile.open(fileName.c_str());
此外,还有一条关于代码后面部分的注释:不要使用if(inputfile)
,而是使用is_open()方法。所以,你应该写if(inputfile.is_open())
。该方法返回一个布尔值,具体取决于打开文件是否成功。
http://www.cplusplus.com/reference/fstream/ifstream/open/
inputFile.open is being passed a `FILE *` but needs `const char *`
尝试向它传递一个像"some_file.txt"
这样的硬编码字符串,或者向它传递实际的const char *
- Seg Fault Issue C++ (file IO / getline)
- Issue with WriteProcessMemory
- std::partition segfault issue
- VSCode C/C++ Intellisense issue: Undefined identifiers (Linu
- OpenGL glBufferSubData Offset issue
- boost::property_tree XML issue
- qt QWidget::closeEvent link issue
- QT 和 JIRA Rest API: /rest/api/2/issue/createmeta 意外返回韩语的 iss
- Crypto++ GetModulus() issue
- Vector.push_back Issue
- C++嵌套类从嵌套类继承,请键入 issue
- C++ PBKDF2 Issue
- CMake FindJNI issue on linux
- C++ 将二维数据库保存到文件ISSUE中
- MySQL with Qt issue
- Qt with Visual Studio macro issue
- 从gcc 5.4升级至gcc 6.3 std::thread std:ref issue
- Issue with a for loop (C++, Visual Studio
- Qt QLCDNumber issue
- Visual Studio 2015 C++ v141 issue