"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Aus File lesen in C#?

LakeBodom 07.10.2003 - 13:08 702 3
Posts

Bodominjaervi

OC Addicted
Registered: Jul 2002
Location: AT
Posts: 7813
Wie ist es möglich in C# aus einem File zeilenweise Daten zu lesen?
Hab einen FileStream, nur dieser hat nur die zwei Methoden ReadByte(für zeichenweises lesen) und Read(byte[] array, int offset, int count).

Hilfe:
  • array: enthält nach dem Beenden dieser Methode das angegebene Bytearray mit den Werten zwischen offset und (offset + count -1), die durch aus der aktuellen Quelle gelesene Bytes ersetzt wurden.
  • offset: Der Byteoffset im array, ab dem geschrieben werden soll.
  • count: Die maximale Anzahl der zu lesenden Bytes.


Kann mir das irgendwer näher erklären? Ist FileStream.Read das richtige? Ist das array ein string-arr, und count die Länge des String-Arrays?

Tia

pUmPkin

Big d00d
Avatar
Registered: Dec 2002
Location: sbg
Posts: 162
hm .. hab da nur n beispielprog des ma gmacht ham .. musst aber ne txt datei machen die vokabel heißt ..

#include <stdio.h>
#include <stdlib.h>

struct vokabel {
char de[128];
char en[128];
};

int main(int argc, char *argv[])
{
struct vokabel heft[1024];
FILE *fp;
int i, last_rec;


fp = fopen("vokabel.txt", "r");//Datei muss bestehen
if (fp==NULL){
fprintf(stderr, "Fehler beim Oeffnen der Datei vokabel.txt");
exit(1);
}

for (i = 0; i < 1024 && !feof(fp); i++){
//while(!feof(fp))
//{
fgets(heft[i].de,128,fp);
heft[i].de[strlen(heft[i].de) -1] = '\0';
fgets(heft[i].en,128,fp);

if ( !feof(fp))
heft[i].en[strlen(heft[i].en) -1] = '\0';
}

last_rec = i-1;

for(i=0; i <= last_rec; i++){
printf("\nDE: <%s>\t EN: <%s>\n", heft[i].de, heft[i].en);
}

fclose(fp);

system("PAUSE");
return 0;
}


ahh .. verdammt .. hat alles bissle verschoben :mad:

Bodominjaervi

OC Addicted
Registered: Jul 2002
Location: AT
Posts: 7813
Zitat von pUmPkin
hm .. hab da nur n beispielprog des ma gmacht ham .. musst aber ne txt datei machen die vokabel heißt ..

#include <stdio.h>
#include <stdlib.h>

struct vokabel {
char de[128];
char en[128];
};

int main(int argc, char *argv[])
{
struct vokabel heft[1024];
FILE *fp;
int i, last_rec;


fp = fopen("vokabel.txt", "r");//Datei muss bestehen
if (fp==NULL){
fprintf(stderr, "Fehler beim Oeffnen der Datei vokabel.txt");
exit(1);
}

for (i = 0; i < 1024 && !feof(fp); i++){
//while(!feof(fp))
//{
fgets(heft[i].de,128,fp);
heft[i].de[strlen(heft[i].de) -1] = '\0';
fgets(heft[i].en,128,fp);

if ( !feof(fp))
heft[i].en[strlen(heft[i].en) -1] = '\0';
}

last_rec = i-1;

for(i=0; i <= last_rec; i++){
printf("\nDE: <%s>\t EN: <%s>\n", heft[i].de, heft[i].en);
}

fclose(fp);

system("PAUSE");
return 0;
}


ahh .. verdammt .. hat alles bissle verschoben :mad:

is c++ oder??

brauchs leider in C# (C-Sharp)!

Oculus

void
Avatar
Registered: Jun 2001
Location: schlafzimmer
Posts: 856
System.IO.StreamReader reader = new StreamReader("filename");
string line = "";
while ((line = reader.ReadLine()) != null)
// usw...

reader.Close();
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz