String umwandeln

Habe es auch einmal anders getestet, aber das ging auch nicht...argh...
C++:
                            int i=0;
                            do{
                            
                            fgets(lager,400,Speicher);
                            if(strcmp(lager, ENTER)){i++;};
                            printf("%d. %s",i,lager);
                            
                            }while(fgets(lager,400,Speicher) != NULL);

Ist es so schwer Datein auszulesen?
 
Nein schwer nicht, wenn du die Funktion kennst!
Versuch es mal so! Wenn fragen dann melden!

C++:
  while (!feof(Speicher)){
   fgets(lager, /* Zeichen anzahl */ , Speicher);
   printf("%s", string);
  }


XeoX
 
Danke dir, habe eben auch an der Umrechnung in Buchstaben gewerkelt, aber mir will die Umwandlung von Oktal in Buchstabe nicht gelingen...les ich das falsch ein? Ich lese die Zahlenkolonne mit nem string ein..

C++:
for(index=0; index< strlen(pswd);index++)
     {
                  kod[index]=(char) pswd[index];
                  }
                  strcpy(pswd,kod);

kod und pswd sind chars mit der Länge [400]. index ein Integer
 
Du codierst dort nichts um! Wenn pswd der Eingeselesende string ist schreibst du nur die Zahlen eine nach der anderen in den neuen String!

Du musst wenn es sich um eine Zahl handelt musst du es entweder nicht als string einlesen oder mit der Funktion "atoi" aus stdlib.h die Zeichen in ein Integerwert umwandeln!

XeoX
 
Ich habe leider mit der Schleife, die die Daten einlesen soll, immernoch Probleme. Es wird ordentlich kompiliert aber wenn die Schleife arbeiten soll, dann geht das Programm einfach aus. Wird da was falsch eingezogen? Die Datei existiert auf jedenfall.
 
Stell doch mal den betreffenden Teil ins Forum, dann kann ich sehen wie du das machst, vielleicht auch mit dem Filepointer!

oder eine PN!

XeoX
 
Also der Abschnitt sieht wie folgt aus:

C++:
FILE *Speicher;
...
...
Speicher=fopen("0002.mem","r");
int i=0;
while (!feof(Speicher))
{
fgets(lager, 400 , Speicher);
if(strcmp(lager, ENTER)== strcmp(lager, ENTER)){i++; continue;}
printf("%d. %s",i,lager);
}

Ich kann die Datei öffnen und lesen was drin steht, aber das Programm nicht.
 
Zurück