Witam, uczę się biblioteki fstream i napotkałem się na problem. Program się kompiluje, jednak nic nie zapisuje się do pliku. Moim zamiarem jest, gdy za każdym razem gdy dopisze się dodatkowe dane, na początku program ma wyliczyć ile razy w pliku wystąpił znak [ a następnie na podstawie jego ilości przypisać kolejny numer ID do pliku. Jednak mimo wpisyania wszystkich danych program nie zapisuje danych. Wiem, że kod jest mało czytelny, pewnie bardzo błędnie napisany - proszę o poprawienie mnie.
#include <bits/stdc++.h>
using namespace std;
int main()
{
int item_id = 0;
string id_char;
short int item_tier;
char item_type[32];
char item_name[256];
short int item_resourcesNeeded;
scanf("%d", &item_tier);
scanf("%s", &item_type);
scanf("%s", &item_name);
scanf("%d", &item_resourcesNeeded);
fstream file("plik.txt");
fstream file1;
file1.open("plik.txt", ios::out | ios::app);
if(file1)
{
while(getline (file, id_char))
{
if(!(string::npos == id_char.find(" [ ")))
item_id++;
else
item_id = 25000;
}
file1 << "[" << item_id << "]" << item_tier << "." << item_type << "." << item_name << "." << item_resourcesNeeded << "\n" ;
file1.close();
}
}
scanf
a niestd::cin
?