|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: May 2005
Messaggi: 2
|
GESTIONE TXT IN C++
Sono nuovo del forum, dunque non so se sia questa la sezione giusta per la mia domanda. Sto da poco studiando il C++, usando anche il builder, e volevo sapere se esiste un programma in c++/c++ builder, ossia del codice che mi permetta di aprire un file txt, leggerne il contenuto/modificarne il contenuto etc... PLEASE! Sono un pò disperato...
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
|
devi utilizzare le classi per gli stream di input output che c++ include nella sua libreria standard....
__________________
Sun Certified Java Programmer EUCIP Core Level Certified European Certification of Informatics Professionals |
![]() |
![]() |
![]() |
#3 | |
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
Scherzi a parte: puoi fare tutto quello che hai detto semplicemente usando le funzioni della libreria standard --- libreria che ti consiglio di studiare attentamente e approfonditamente.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
![]() |
![]() |
![]() |
#4 |
Junior Member
Iscritto dal: May 2005
Messaggi: 2
|
Purtroppo però non ho le conoscenze adatte... io ho scritto, seguendo quanto avete detto su un altro post:
#include <iostream.h> #include <stdlib.h> #include <windows.h> #include < string.h> int main (int argc, char *argv[]) { ifstream file_leggi("C:\prova.txt"); ofstream file_scrivi("C:\prova2.txt"); if (! file_leggi) cerr << “Errore nell_aprire il file di ingresso” if (! file_scrivi) cerr << “Errore nell_aprire il file su cui scrivere” string stringa_da_copiare; string stringa_da_cambiare="modifica da applicare"; int contaRiga=0; int modRiga=3; while(getline(file_leggi,stringa_da_copiare)) { file_scrivi<<((contaRiga!=modRiga)?daCopiare:daCambiare)<<endl; contaRiga++; } return 0; } ma non mi funziona... Cosa sbaglio? |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
sinceramente, non ho capito molto dal tuo esempio. La colpa è ovviamente mia che sono agli inizi. Volevo solo postarti quello che sono riuscito a fare per copiare un file su un altro file. Non badare tanto al mio codice perchè davvero sono un niubbone, ma spero ti dia almeno un'idea:
Codice:
#include <iostream> #include <fstream> using namespace std; int main (int argc, char **argv) { ifstream in; ofstream out; char testo; in.open ("c:\prova.txt"); out.open ("c:\prova2.txt"); in.get(testo); while (!in.eof()) { out << testo; in.get(testo); } in.close(); out.close(); }
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() Ultima modifica di RaouL_BennetH : 26-05-2005 alle 18:37. |
![]() |
![]() |
![]() |
#6 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
non testato:
Codice:
#include <windows.h> int main() { HANDLE hSrc = CreateFileA("file1.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); HANDLE hDst = CreateFileA("file2.txt", GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, 0, NULL); if (hSrc && hDst) { char pBuf[0x1000]; DWORD dwBufSize = 0x1000, dwRead = 0; while (ReadFile(hSrc, (LPVOID)pBuf, dwBufSize, &dwRead, NULL)) { DWORD dwDummy; WriteFile(hDst, (LPVOID)pBuf, dwRead, &dwDummy, NULL); if (dwRead < dwBufSize) { break; } } } if (hSrc) { CloseHandle(hSrc); } if (hDst) { CloseHandle(hDst); } return 0; } ![]() Ultima modifica di 71104 : 26-05-2005 alle 15:27. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
che cattivone che sei...
è un novizio e tu scrivi quella robaccia ![]() |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
Codice:
$\/|jx+~┌┌¦ÜÆÏEäþ { muhav_jabbaladi!! O_O @@ } ![]()
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
![]() Personalmente quello che si può fare con la libreria standdard lo faccio con la libreria standard, quello che non si può fare lo faccio con le API...quindi non mi sembra il caso di usare le API in un esempio per un principiante ![]() |
|
![]() |
![]() |
![]() |
#11 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
vabbè, dai, ho solo dato un contributo alla maniera che mi veniva + naturale; che sia stato inutile è 1 altro discorso...
![]() ![]() |
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
Quote:
![]() amo lo standard ![]() ![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:34.