Va bene, ecco l'accordo, sto prendendo un'introduzione alla classe C++ presso la mia università e sto avendo problemi a capire come modificare l'estensione di un file. Primo, quello che dovremmo fare è leggere in un file .txt e contare parole, frasi, vocali, ecc. Ho capito, ma il passo successivo è quello che mi preoccupa. Supponiamo quindi di creare un nuovo file usando lo stesso nome file del file di input ma con estensione .code anziché .txt (in quel nuovo file dobbiamo quindi codificare la stringa aggiungendo numeri casuali al codice ASCII di ogni personaggio se fossi interessato). Essendo un principiante nella programmazione, non sono abbastanza sicuro di come farlo. Sto utilizzando il seguente pezzo di codice per ottenere in un primo momento il file di input:Come si modifica l'estensione del nome file memorizzata in una stringa in C++?
cout << "Enter filename: ";
cin >> filename;
infile.open(filename.c_str());
sto assumendo per creare un nuovo file che ho intenzione di essere utilizzando qualcosa di simile:
outfile.open("test.code");
Ma non saprò quale sia il nome del file finché l'utente non lo inserirà, quindi non posso dire "test.txt". Quindi se qualcuno sa come cambiare quell'estensione quando creo un nuovo file lo apprezzerei molto!
Va bene, penso che le opzioni siano più in linea con quello che stavo cercando, come abbiamo appreso di recente sui metodi di stringa. Grazie per l'input! –
Better rfind() poiché troverà l'ultimo "." invece del primo nel caso in cui 'a.b.c.txt' è un nome file valido –
.open() accetta un const char *, non un std :: sting purtroppo. – MSalters