Мой текст Файл:
Name G M S
Cart 1 0 1
Jane 0 1 0
То, что я до сих пор:
#include <iostream>
#include <string>
#include <fstream>
#include <stdlib.h>
#include <algorithm>
using namespace std;
void scoreChanger();
string line;
int main()
{
string yn;
int ctr = 0;
ifstream infile;
infile.open("WiiTourney.txt");
if (infile.is_open())
{
cout << "This is your current score table: " << endl;
while(getline(infile, line))
{
ctr++;
cout << line << endl;
cout << ctr << endl;
}
cout << endl;
}
else
{
cout << "Unable to open file" << endl;
}
infile.close();
cout << endl;
cout << "Would you like to change the scores? " << endl;
cin >> yn;
transform(yn.begin(), yn.end(), yn.begin(), ::tolower);
if (yn == "yes")
{
scoreChanger();
}
else
{
infile.close();
return 0;
}
return 0;
}
void scoreChanger()
{
string name;
ofstream outfile;
outfile.open("WiiTourney.txt");
if (outfile.is_open())
{
cout << "Who won the game? " << endl;
cin >> name;
transform(name.begin(), name.end(), name.begin(), ::tolower);
if (name == "jane")
{
while(getline(outfile, line))
{
cout << line << endl;
}
}
for (int x = 0; x < line.length(); x++)
{
if (line[x] == 8 && line[x] != 'G')
{
}
}
}
else
{
cout << "Error opening file. " << endl;
exit(1);
}
}
То, что я хочу, чтобы это сделать:
Скажем, я хотел, чтобы иметь возможность добавить 1 пункт к Столбцы игр (G) только для Корзины. Проблема для меня заключается в том, что я хочу изменить только 1
в столбце G
, и я знаю, что столкнулся с проблемами, просто перейдя к циклу и поиска экземпляров, где 1 появляется, потому что в одной строке может быть несколько 1
. Я также получаю ошибку на линии while(getline(outfile, line))
, которая говорит «нет функции согласования для вызова„GetLine (станд :: ofstream &, станд :: струнной &)“»Как заменить определенное слово в строке в файле?
Спасибо, ваша помощь не очень оценили.
Используйте 'cstdlib' в C++, а не' stdlib.h'. –
@CrazyEddie: Не нужно использовать его вообще. Однако OP должен включать 'cctype' для' std :: tolower'. –