Я впервые занимаюсь программированием на C ++ после трех занятий в Java (так что здесь определенно новичок). Домашнее задание предлагает мне добавить текст в текстовый файл, а затем искать в текстовом файле имя (в данном случае мое имя). Он работал отлично, тогда я пытался заставить его отображать мое полное имя, а не только мою фамилию, поэтому я повозился с ним. Теперь я не могу понять, почему результат всегда «Имя не найдено», несмотря на то, что я ввел свое имя, чтобы получить результат «Имя найдено:». (Кроме того, домашнее задание требовало, чтобы «Имя не найдено» было добавлено в другой файл .txt, поэтому они называются по-другому. Это прекрасно работает.) Большое спасибо!
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main (){
ifstream inFile("/Users/katelynwalker/Documents/CSC450_CT5_mod5.txt");
ofstream outFile;
outFile.open("/Users/katelynwalker/Documents/CSC450_CT5_mod5.txt", ios::app);//appends instead of overwrites
outFile<<"Katelyn Walker";
cout<<"Name has been added to the file. ";
outFile.close();
string search;
cout<<"Please enter a name: ";
cin>>ws;
cin>>search;
bool isFound = 0;
string name = " ";
while(getline(inFile, name)){
for(int i=0; i<search.size(); i++){
if(name[i]==search[i]){
isFound = 1;
}
else{
isFound = 0;
}
}
if(isFound){
cout<<"Name found is: ";
for(int i=search.size()+1;i<name.size();i++)
cout << name[i];
break;
}
}
if(inFile.eof()&&(!isFound)){
outFile.open("/Users/katelynwalker/Documents/CSC450-not-found_CT5_mod5.txt", ios::app);
outFile<<"Name not found.";
cout<<"Name not found.";
}
inFile.close();
return 0;
}