我有一个 C++ 文件,我想从中学习,但我在尝试打开包含要读取数据的文本文件时遇到困难。我想弄清楚我把文本文件放在哪里。
我的代码是:
#include <fstream>
#include <cstdlib>
using namespace std;
void rFile(string argvFile);
void Init(int i, Chord& newChord);
int main(int argc, char* argv[]) {
if (argc != 2) {
cout << "INCORRECT SYNTAX!" << endl;
} else {
**//I changed the this to rFile("text.txt"); but error too.**
rFile(argv[1]);
}
}
void rFile(string argvFile) {
Chord newChord;
string inLine;
ifstream inFile;
**// I got an error trying to put the text file name after argvFile.c_str("text.txt"));**
inFile.open(argvFile.c_str());
if (inFile.is_open())
while (inFile.good()) {
getline(inFile, inLine);
}
} else {
cout << "ERROR! FOUND NOT FOUND!" << endl;
}
}
有哪位好心人能赐教吗?
最佳答案
这段代码从程序参数中读取文件名,
rFile(argv[1]);
argv 是在程序执行期间传递给程序的参数数组,例如运行
./prog a b c
赋值
argv[1] = "a"
argv[2] = "b"
argv[3] = "c"
第 0 个元素 (argv[0]) 包含程序名称,所以在这种情况下
argv[0] = "prog"
所以对于您的程序 - 一旦您将其编译为 prog,您就可以通过 (unix) 运行它
./prog PATH_TO_FILE
或( window )
prog.exe PATH_TO_FILE
关于c++ - 我在哪里放置程序读取的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19888799/