|
Programiranje Programski jezici, tehnike, alatke... |
|
Alatke vezane za temu | Vrste prikaza |
17.5.2006, 18:35 | #1 |
Novi član
Član od: 29.12.2005.
Poruke: 22
Zahvalnice: 2
Zahvaljeno 0 puta na 0 poruka
|
izmena textualnih fajlova
imam jedan txt fajl bazu podataka za koju moram da napisem proceduru kooja je menja u drugi format fajla (ms access). Sa tim sam se snasao preko makro-a ali imam sledeci problem. Baza je mnogo velika i ima nestandardan format jer je pravljena za COBOL i izgleda ovako:
kljuc ime(12mesta) prezime(20mesta) br racuna(10mesta) ... 001 pera peric 1005433465 002 mita mitic 6587566155 itd. treba da izgleda ovako: 001,"pera","peric",1005433465,... dakle svaka kolona odvojena zarezom s'tim sto se tekstualne vrednosti moraju naci pod navodnicima. Da li je neko radio ovako nesto u Javi, c-u, c# ili VB-u ako moze da mi posalje source na bozabaskuz@gmail.com <<HITNO>> Hvala unapred... |
17.5.2006, 19:37 | #2 |
Ad Ministrator
Član od: 19.8.2005.
Lokacija: Beograd, SK
Poruke: 7.280
Zahvalnice: 29
Zahvaljeno 3.041 puta na 1.544 poruka
|
Re: izmena textualnih fajlova
Čekaj, jesi li probao da ipak importuješ tu bazu u Access (ili možda u Excel)? Access je pametan, obično ume da se snadje... a posle možeš da eksportuješ u "comma separated list" ako baš hoćeš.
Ako ti je baš zadatak da napišeš program koji to radi, to je druga stvar... |
18.5.2006, 2:06 | #3 |
Član
Član od: 4.3.2006.
Lokacija: grad u oblacima
Poruke: 288
Zahvalnice: 1
Zahvaljeno 5 puta na 4 poruka
|
Re: izmena textualnih fajlova
Što na mail? Bolje ovde da i drugi mogu da vide.
Pa nisi baš najpreciznije definisao kako bi baš konverzija trebalo da izgleda ali ako sam te dobor razumeo... Ovaj program, fajl sa ovim: 001 pera peric 1005433465 002 mita mitic 6587566155 pretvara u ovo: 001,"pera","peric",1005433465, 002,"mita","mitic",6587566155, Ako ti treba sve u jednoj liniji naćićeš uputstvo u kodu. Inače će bez problema pretvoriti i liniju: 23 34 3542222 trta 452 mrta 34 53 rules u: 23,34,3542222,"trta",452,"mrta",34,53,"rules", I da, ako ti neki string počine sa brojem, biće prepoznat kao broj (neće imati navodnike), pa obrati pažnju. Tjuninguj kod po želji. Kod:
#include <iostream> #include <fstream> using namespace std; int main() { ifstream fin("baza.txt", ifstream::in); if(fin.fail()) { cout << "Fajl ne postoji" << endl; return 0; } ofstream fout("rezultat.txt", ifstream::out); char cLineBuffer[1024]; while(fin.getline(cLineBuffer, 1024)) { char* pString; pString = strtok(cLineBuffer, " "); while(pString != NULL) { if(isalpha(pString[0])) { cout << '\"' << pString << "\","; fout << '\"' << pString << "\","; } else { cout << pString << ','; fout << pString << ','; } pString = strtok(NULL, " "); } // Sledeca dva reda izbaciti ako je potrebno da rezultat.txt bude u jednoj liniji cout << endl; fout << endl; } fin.close(); fout.close(); cout << endl << "Sve je OK." << endl; return 0; } |
Bookmarks sajtovi |
Alatke vezane za temu | |
Vrste prikaza | |
|
|
Slične teme | ||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Program za pravljenje image fajlova | hacker_aca | Aplikativni softver | 31 | 26.7.2006 15:25 |
povracaj obrisanih fajlova | olujnik | Kvarovi | 9 | 11.5.2006 14:32 |
Secenje AVI fajlova bez Re-Encodinga | nsAce | Video/TV softver | 1 | 28.4.2006 13:23 |
Softver za konverziju i spajanje WMV fajlova | Vlado78 | Video/TV softver | 10 | 24.1.2006 14:12 |
Cupanje izbrisnaih fajlova sa hard diska | NenadN | Aplikativni softver | 10 | 7.12.2005 20:30 |