Hola amigos, me está matando un tema que no pensé que se me iba a hacer tan complicado, lo que quiero hacer es abrir el archivo y escribirle una linea, pero si el archivo existe, ignorar eso, tengo el siguiente codigo, a ver si me pueden marcar el error o decirme alguno nuevo, no tengo problemas:
fstream f;
f.open("archivo.txt",ios::out | ios::beg | ios::noreplace);
if(f.is_open()){
f<<"Monto inicial\t"<<Edit1->Text.c_str()<<"\n";
f.close();
} else ShowMessage("El archivo ya existe");
Con este código, me escribe el archivo siempre, como si el ios::noreplace no anduviera.
Es la primera vez que uso el
ios::noreplace, puede que mi error esté ahí.
También probé con este código:
fstream f;
f.open("archivo.txt", ios::in);
if(!f.is_open()){
f.open("archivo.txt",ios::out | ios::beg);
if(f.is_open()){
f<<"Monto inicial\t"<<Edit1->Text.c_str()<<"\n";
f.close();
} else ShowMessage("No se puede abrir el archivo!!");
} else {
f.close();
ShowMessage("El archivo ya existe");
}
Lo que intento hacer ahí, es abrir el archivo solo para leerlo, si eso da error, lo abro para escritura y lo creo.
Y con este código no lo escribe nunca al archivo, pero si detecta si existe o no.
Muchas Gracias
Saludos