C++ 从文件读取输入直到特定字符cpp
Im尝试读取input.txt包含字符串(向后移动;旋转[radius];) 我应该像这样分配字符串命令和属性 最多“;”是命令//向后移动;这是一个命令 “[”和“]”之间是属性/[radius]是和属性 ı为此编写这两个程序,但ı需要合并到一个程序中。还有,我不知道怎样才能在“[”“]”之间阅读,我想我应该在“[””开始阅读,在“]”字符处完成阅读。ı不知道如何编写此代码并结合所有这些 input.txt 向后移动 掉头[半径]C++ 从文件读取输入直到特定字符cpp,c++,file,input,visual-c++,char,C++,File,Input,Visual C++,Char,Im尝试读取input.txt包含字符串(向后移动;旋转[radius];) 我应该像这样分配字符串命令和属性 最多“;”是命令//向后移动;这是一个命令 “[”和“]”之间是属性/[radius]是和属性 ı为此编写这两个程序,但ı需要合并到一个程序中。还有,我不知道怎样才能在“[”“]”之间阅读,我想我应该在“[””开始阅读,在“]”字符处完成阅读。ı不知道如何编写此代码并结合所有这些 input.txt 向后移动 掉头[半径] #include <iostream> #incl
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
// reading input from file line by line
void read() {
ifstream file;
file.open("input.txt");
string line;
while (getline(file, line)) {
cout << line << endl;
}
file.close();
}
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
int main()
{
// to find commands reading up to ";"
string s = "move_back; turn_around [radius];move_back [time];";
string delimiter = ";";
vector<string> commands;
int pos = -1;
while (s.find(delimiter) != -1) {
pos = s.find(delimiter);
commands.push_back(s.substr(0, pos));
s = s.substr(pos + delimiter.length());
}
for (int i = 0; i < commands.size(); i++) {
if (isspace(commands[i].at(0)))
commands[i] = commands[i].substr(1);
}
}
#包括
#包括
#包括
使用名称空间std;
//逐行从文件中读取输入
无效读取(){
ifstream文件;
打开(“input.txt”);
弦线;
while(getline(文件,行)){
你的问题不太清楚。你应该写一些代码,尝试做你想做的事情,然后问一个问题,问一个关于什么不起作用的具体问题。风格问题不是解决堆栈溢出的好问题。基本上我们不会做你的家庭作业,但如果你遇到一个具体的问题,我们会帮助你克服它。如果您的代码有一个输入文件,请确保将该文件作为程序的一部分发布(或者更好,只需将数据硬编码为问题中的字符串,因为读取该文件不是您的问题)嗨,这不是我的家庭作业。这是我练习解决一些大问题的一部分。我试着清楚自己能做什么,然后去工作。谢谢你的意见,我会把它比作“意见”,更多的是“如何解决你的问题的建议”。。您会注意到您没有回答。解决您的问题可能会有所帮助。我会在几个小时后回来查看,看看您做了什么,如果您将问题改进为a,我会尝试回答。您的问题不太清楚。您应该编写一些代码,尝试做您想做的事情,然后向spe提问cific询问什么不起作用。对于堆栈溢出,风格问题不是好问题。基本上我们不会做作业,但如果您遇到特定问题,我们会帮助您解决。如果您的代码有输入文件,请确保将该文件作为程序的一部分发布(或者更好的是,在你的问题中把数据硬编码成一个字符串——因为读文件不是你的问题)嗨,这不是家庭作业。这是我练习解决一些大问题的一部分。“关于如何回答问题的建议”比“意见”更重要。你会注意到你没有回答。解决你的问题可能会有帮助。我会在几个小时后回来检查,看看你做了什么,如果你把你的问题提高到了一个水平,那么我会尝试回答。