我希望用户输入他们的姓名,性别,年龄,药物和状况。然后查看文本以查看他们的条件是否与文本文档中的任何其他人匹配,然后查看他们的年龄,性别或药物是否相同。如果它出现了可能的副作用,也会出现在文本文档中。
因为我做了这样的事情已经很久了,所以难以入门。我只需要了解如何阅读和比较文本文档的基础知识。
Txt doc的布局如下:
Name Med Sex Age Cond Effect
Bill DepMed M 33 Depression StomachAche
Tom ADDMed M 24 ADD HeadAche
答案 0 :(得分:0)
我不知道你需要什么“基本”,但是要读取和写入你需要包含头文件“fstream”的文件。您可以通过各种方式读写文件。一种方法是打开文件,而不是使用cin
作为输入,而不是使用cout
作为输出,您将使用打开文件的文件流的名称。示例:
#include <fstream>
int main() {
string input;
fstream dataFile; //names stream 'dataFile' sort of like a variable.
dataFile.open("data.txt", ios::in | ios::out); //opens data.txt for reading (ios::in) and writing (ios::out)
dataFile >> input; //stores data to input exactly like 'cin' would from the screen, but in this case the input is coming from 'dataFile'
getline(dataFile, input, '\n'); //stores data to input exactly like 'cin.getline()' would
dataFile << "String to be added in file" << endl; //prints to file exactly like 'cout' prints to screen
dataFile.close() //closes file, be sure to do this or else you risk memory leak issues
}
特别针对您的问题:
getline(inFile, junk, '\n');
跳过第一行(您不想搜索列标题)。 junk
是字符串变量,inFile
是您的'.txt'文件。getline()
阅读文件中的下一行。searchString
搜索从文件userInput
读取的字符串,以查找用户输入的字符串found = searchString.find(userInput, 0)
。你必须在循环之前声明size_t found
。userInput
searchString
中是否找到if(found != std::string::npos)