从外部文本文件运行行
Running lines from an external text file
我有一个程序,它使用cin.getline()
接收用户输入行
我有一个cin.getline(inputString,MAX_LENGTH),用户可以在其中输入有效命令的列表,例如
add -user "CoolGuy22" "John"
我解析inputString,它添加了用户等等。现在我正在尝试创建一种从外部文件运行一堆命令的方法。外部文本文件上的每一行都是不同的命令,用于测试用户输入命令。如
add -user "CoolGuy22" "John"
add -user "CoolGirl22" "Jenny"
add -delete "CoolGuy22" "John"
这是我跑步的命令。它要求用户输入。
void Display::getInput(){
SessionLog log;
StringEval eval;
cout << endl << endl << "Enter Command: ";
char input[MAX_LENGTH];
//string input;
cin.getline(input, MAX_LENGTH);
eval.parseString(input);
getInput();
我将键入
.read "script.text"
这应该读取script.text文件,并从脚本中输入单独的命令,以自动化测试。
if (inputString.substr(0, 5) == ".read"){
cout << "Read from file: "" << inputString.substr(6, inputString.length()-6) << """ << endl;
ifstream inFile;
inFile.open(inputString.substr(6, inputString.length()-6));
if (!inFile) {
cerr << "Unable to open file script.txt" << endl;
//GOTTA READ THE LINES NOW
}
我成功地访问了script.txt,但现在我被卡住了。我不知道如何将script.text上的每一行都发送回程序。如有任何帮助,将不胜感激
如果您想逐行读取文件,只需执行以下操作:
std::ifstream inFile(<path>);
if (!inFile.is_open()) {
exit(1); // Handle error
}
std::string line;
while(std::getline(inFile, line)) {
std::cout << line << std::endl;
}
相关文章:
- CMake-按正确顺序将项目与C运行时对象文件链接
- SSH通过/sbin/SSH无法读取RSA密钥文件(从控制台运行)
- 读取文件时运行时的未知行为
- 如何在.obj文件上运行IlDasm?
- 编译多个C++文件.调用二进制文件以运行代码
- 如何在Google Cloud Functions上运行C++文件?
- 无法在 VS Code 上使用代码运行程序运行C++文件
- 如何在不受其他文件影响的情况下"by itself" Visual Studio 项目中运行C++文件?
- 以目录作为参数运行C 文件?而是使用bash
- 如何在制作后运行.o文件
- 如何在 OpenBR 中运行C++文件
- 包含库的c++运行文件失败而没有编译错误(CMake / CLion)
- 在尝试运行文件时,yaml-cpp出错
- 编译并运行文件夹中提供的MySQL++和C++示例
- 如何在不使用cygwin的情况下在Windows (Vista)中运行c++文件的makefile
- 运行c++文件,输入Sublime Text 2
- 如何在windows7的turbo c中运行c++文件
- 运行文件直到*字符串*,然后读取列直到*没有十进制*
- 从命令行运行 c++ 文件
- 不能在VS Code 2015中调试或运行文件