Scanf ekvivalent u C#?

poruka: 4
|
čitano: 2.137
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
Scanf ekvivalent u C#?

kako da u C# iz jedne linije teksta iz nekog fajla ucitam vrijednosti u vise varijabli?

 

npr.:

 

u fajlu su podaci organizovani kao

 

1 nekoime 2000

 

prvi broj je redni broj, ucitati je u varijablu npr. index,

drugi string je ime, ucitati u varijablu name,

treci broj je godina rodjenja, ucitati u varijablu year

 

U C-u se to moglo uraditi funkcijom fscanf npr.

 

fscanf(file, "%d %s %d", &index, name, &year); 

 

Kako to najlakse uraditi u C#?

 
0 0 hvala 0
16 godina
neaktivan
offline
Scanf ekvivalent u C#?

Ovako nekako:

StreamReader čitač = new StreamReader(new FileStream("tvoja datoteka", FileMode.Open, FileAccess.Read));

string[] strTrenutniRed = čitač.ReadLine().Split('-');

int index = int.Parse(strTrenutniRed[0]);

string name = strTrenutniRed[1];
DateTime godinaRođenja = new DateTime(int.Parse(strTrenutniRed[2]), 0, 0);

 

Možda ti se čini komplicirano ali evo objašnjenja:

.net ima mogućnost korištenja klase TextReader kojom se također mogu čitati datoteke no StreamReader ima bolje perfomanse(da bi i jednu i drugu koristio moraš u zaglavlje programa staviti using System.IO)

Niz strTrenutniRed predstavlja rastavljene podatke iz stringa kojeg smo dobili čitanjem datoteke pa se tako na poziciji 0 nalazi index, na poziciji 1 ime i na poziciji 2 godina rođenja.

Da bi ovaj moj kod funkcionirao treba podatke prilikom upisa rastaviti na format index-name-godinaRođenja jer ovdije znak - nam služi kao separator.

 

Ukoliko ti je nešto nejasno slobodno postaj.

Poruka je uređivana zadnji put sub 8.1.2011 21:13 (Joco55).
Moj PC  
1 0 hvala 2
15 godina
neaktivan
offline
RE: Scanf ekvivalent u C#?
Hvala:)

Radi super, za .Split(' ') moze ici i space

NIje komplikovano uopste, hvala još jednom:)
16 godina
neaktivan
offline
Scanf ekvivalent u C#?

Može bilo koji znak ili niz znakova ali ja sam stavio - da bude preglednije.

Moj PC  
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice