Leerzeichen Problem!

Dieses Thema im Forum "C/C++" wurde erstellt von Yellow, 06.12.2007.

  1. Yellow

    Yellow Doppel-As

    Dabei seit:
    04.06.2007
    Beiträge:
    149
    Zustimmungen:
    0
    Ort:
    Bad Arolsen
    Hi Leute!

    Ich habe eine Datei die Folgend aussieht:

    27 83 12 89 1 0 22 38 92
    69 82 7 3 39 76 97 65 98

    nun möchte ich gerne diese Datei auslesen. Ist kein Problem. Doch jetzt sitze ich da und möchte das folgendermaßen ausgeben:

    x
    x
    x
    x
    x
    x

    PHP:
    for(i=0;fgets(c,2048,fz);i++) {

          if(
    c==" ") {
                
    printf("\n");
          }

          
    fputs(c,stdout);
    }
    Doch irgendwie ignoriert der die Leerzeichen in der Abfrage und gibt die Komplette eingelesene Datei aus.

    Woran könnte das liegen? Kann ich Leerzeichen nicht mit
    PHP:
    if(c==" ") {
    abfragen?

    Irgendwie schecke ich das heute nicht!
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 skopionmaster, 06.12.2007
    skopionmaster

    skopionmaster Eroberer

    Dabei seit:
    15.08.2004
    Beiträge:
    50
    Zustimmungen:
    0
    Ort:
    Stadtroda
    Hallo schau dir mal folgendes an:

    Code:
    #include <stdio.h>
    
    int main( )
    {
      FILE *file;
      char c;
      int i;
    
      file = fopen( "test.txt", "r" );
    
      for( i=0; !feof(file); i++ )
      {
        c = fgetc(file);
    
        if ( c == ' ' )
        {
          printf("\n");
        }
        else
        {
          putc(c, stdout );
        }
      }  
    }
    

    Hoffe das kann dir weiterhelfen!
    Alex
     
  4. #3 dietox, 06.12.2007
    Zuletzt bearbeitet: 06.12.2007
    dietox

    dietox Eroberer

    Dabei seit:
    26.05.2007
    Beiträge:
    74
    Zustimmungen:
    0
    Nun ja, erst einmal würde ich ganz gerne wissen, wie genau du es meinst.
    Das Format
    "27 83 12 89 1 0 22 38 92
    69 82 7 3 39 76 97 65 98"
    lässt ihmo ein paar Fragen übrig.
    Sind es immer nur zwei Zeilen die sozusagen bis index-n weitergehen
    oder gehen sie in beide Richtungen weiter?
    Willst du es zeilenweise ausgeben oder reihenweise?

    Nun zum Code:
    Man sollte stets sehr vorsichtig mit Vergleichsoperationen/-operatoren sein.
    Und Strings mit "==" vergleichen sollte man am besten gleich lassen, imo.
    Dafür gibt es Funktionen wie strcmp(), strncmp() und andere (z.B. die einen String darauf prüfen, ob ein anderer darin vorkommt, usw.)

    Du liest einen Buffer der Größe 2048 ein, der hat nun dementsprechend viele andere Zeichen. Wenn du nun diesen, doch recht großen String mit " " vergleichst, dann wird es wohl kaum eine wahre Aussage geben :)
    Du solltest die Methode meines Vorredners ausprobieren: fgetc() - Damit prüfst du, wie du dir vielleicht denken kannst, einzelne Zeichen ;)

    Könntest auch alles elegant mit strtok lösen.
    (Bin gerade leider zu müde, um irgendwas Standfestes zu schreiben, vielleicht komme ich morgen dazu).

    MfG, dietox
     
  5. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Du koenntest die Datei auch direkt in ein integer-Arrayeinlesen, sofern es nur Zahlen enthaelt. Dann muesstest Du Dich nicht selbst ums Parsen kuemmern:
    Code:
    FILE* fp;
    int idx = 0;
    int maxZahlen=2048;
    fp.open("meine_Daten");
    int zahlen[2048];
    while(fp != eof && idx < 2048)
    {
      fscanf(fp, "%d", &(zahlen[idx]));
      ++idx;
    }
    
     
  6. Yellow

    Yellow Doppel-As

    Dabei seit:
    04.06.2007
    Beiträge:
    149
    Zustimmungen:
    0
    Ort:
    Bad Arolsen
    Guten Morgen Leute!

    Danke erstmal für die bisherigen Antworten.

    @skopionmaster: Danke für deinen Syntax. Werde den mir zuhause mal genauer anschauen und überlegen was ich daraus lernen kann ;)

    @Rikola: Auch dir erstmal danke für die Mühen ;)

    @Dietox: Die Zahlen sind Zufallszahlen von 0 bis 100. Diese werden in dem Format

    27 83 12 89 1 0 22 38 92
    69 82 7 3 39 76 97 65 98

    ... in eine Datei geschrieben und so ausgelesen. Mein Ziel ist es diese Zahlen so

    27
    83
    12
    89
    1
    0
    22
    38
    92
    ....

    ...in ein Array zu speichern und diese dann so auszugeben! Es muß dabei nich von klein auf groß sein.

    Ich habe einfach meine Probleme irgendwie damit die Leerzeichen zu killen und daraus ein '\n' zu machen.

    Normalerweise ist das für mich auch kein Problem... doch denke ich in letzter Zeit immer zu kompliziert :D

    (Hier mal meinen bis jetzt geschriebener Code :) )
    PHP:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    int main(int argcchar **argv) {
        
    FILE *fz;
        
    char c[2048];
        
    int i,w[100][100],o[100];


        
    // DATEI ÖFFNEN!
        
    if((fz=fopen("zahlen.txt","r")) == NULL) {
            
    fprintf(stderr,"I/O Fehler: Konnte Datei nicht finden bsw öffnen!\n");
            exit(
    1);
        }


        
    // w (Wert) Teil initialisiren!
        
    for(i=0;i<101;i++) {
            
    w[i][0]=i;
            
    printf("w[%i]=%i\n",w[i][0],w[i][0]);
        }


        
    // Datei ausgeben und in einer Variable sichern!
        
    for(i=0;fgets(c,2048,fz);i++) {
            
            
    o[i] = atoi(c);
            
    printf("%i\n",o[i]);
            
            
        }

        return 
    0;
    }
     
Thema:

Leerzeichen Problem!

Die Seite wird geladen...

Leerzeichen Problem! - Ähnliche Themen

  1. Textdatei / AWK / Leerzeichen - Problem

    Textdatei / AWK / Leerzeichen - Problem: Hi liebes Forum, vielleicht könnt ihr mir bei einer kleinen Shell-Geschichte helfen, da ich kein Programmierer bin, und auf der Shell noch recht...
  2. Problem mit Leerzeichen im Namen

    Problem mit Leerzeichen im Namen: Guten Morgen. Ich habe hier ein kleines Problem mit Leerzeichen. Ich habe dieses Script hier welches Folder mit *.app die kein Leerzeichen im...
  3. Problem beim Einlesen von Pfaden mit Leerzeichen aus Textdatei

    Problem beim Einlesen von Pfaden mit Leerzeichen aus Textdatei: Wünsche einen schönen Sonntag :) Ich habe eine Textdatei angelegt und dort Datei- und Verzeichnispfade hineingeschrieben (eine Zeile = ein...
  4. SHELL: Probleme mit Leerzeichen

    SHELL: Probleme mit Leerzeichen: Schreibe gerade ein Shellscript und bin auf folgendes Problem gestoßen: Es geht darum Verzeichnispfade aus einer Datei zu lesen und MD5...
  5. Problem: Pfade mit Leerzeichen

    Problem: Pfade mit Leerzeichen: Hi Community, habe schonmal die Suche benutzt, wurde aber leider nicht für mein Problem fündig. Das Problem ist eigentlich sehr simpel.Bin...