C ++ Чтение и запись (тот же файл NAMED) - PullRequest
0 голосов
/ 01 мая 2020

Итак ... Идея проста - открывать и писать в одном и том же файле из-за выигрышей (а) и проигрышей (б), но я не знаю, как это сделать. Первая проблема, с которой я столкнулся, была: «Ошибка открытия файла только по строке (ям)», поэтому я нашел решение - с помощью .c_str (). И теперь я вижу, что нет файла TXT, который мог бы сохранить мои данные. Любое решение? Спасибо за помощь и хорошего дня!

#include <bits/stdc++.h>

using namespace std;

fstream in;

string s ;

char t;

int a, b;


int main(){

cout << "DECK NAME:";

cin >> s;

s += ".txt";

in.open(s.c_str(), ios::in | ios::out);

while(1){

 cout << "END: e" << endl;
 cin >> t;

 if(t == 'e'){
     in.open(s.c_str(), ios::in | ios::out);
     in << a << " " << b;
     in.close();
     return 0;
 }

 in >> a >> b;

 in.close();

 if(t == 'w') a++;
 else b++;

 cout << "Win: " << a << endl;

 cout << "Lost: " << b << endl;

 }
}

1 Ответ

0 голосов
/ 01 мая 2020

Если вы хотите читать и писать из одного файла, вы можете использовать fopen() из stdio.h, который будет выглядеть следующим образом:

#include <stdio.h>
#include <iostream>

FILE *file;

int main()
{
    file = fopen("myfile.txt", "w+");
    fputs("test", file);
    std::cout << "Writing test to myfile.txt" << std::endl;
    fflush(file);
    rewind(file);
    char *myString = new char[5];
    fread(myString, 1, 5 * sizeof(char), file);
    std::cout << "Reading " << myString << " from myfile.txt" << std::endl;
}

Вы можете прочитать больше о эти функции здесь: https://www.cplusplus.com/reference/cstdio/

...