Array Inhalt auslesen (Zeilenweise)



  • Hallo
    Ich bin wirklich ein C++ Anfänger.
    Folgendes Problem:Ich habe ein Array

    char arrNEU[1000][3][50];
    

    das wird auch ohne Probleme gefüllt.
    Allerdings will ich wissen ob
    in der Zeile

    arrNEU[1000][3];
    

    Etwas drin steht, oder ob das Feld leer ist.
    Gib es dafür eine Funktion oder muss ich die auch durchlaufen??
    Merci



  • also...

    // wenn du ein Array so definierst:
    char arr[1000][3][50];
    
    // , dann existiert das Element nicht:
    char* wert = arr[1000[3];
    
    // weil das Array nur bis [999][2] geht.
    
    gucken ob in der zeile was steht kannst du zB so:
    if(arr[999][2][0] == 0)
      cout << "nichts is in der Zeile!" << endl;
    
    // das schaut dann, ob das erste zeichen '\0' ist, also ob die zeichenkette die länge 0 hat.
    


  • Ja super danke . . .
    Aber ich glaube meine Frage war etwas verwirrend.
    Das hatte ich auch schon.
    Aber ich will nicht gucken ob das erste Zeichen leer ist, sonder die ganze Zeile.

    If(arr[999][2] == 0)
    

    Trotzdem schon mal vielen vielen Dank.



  • Ok, das war ja schon die Lösung!
    Vielen Danke . . 🙄



  • Da musst du schauen, was dein Programm mit einer leeren Zeile macht. Wenn kein Text vorhanden ist, sollte das erste Zeichen das Nullterminierungszeichen sein, somit kannst du Maxis` Code verwenden.



  • Das geht leider nicht so einfach, du kannst höchstens mit einer Schleife die gesamte Zeile durchlaufen:

    bool leer=true;
    for(int i=0;i<50;++i)
      if(arr[999][2][i]!=0)
      {
        leer=false;
        break;
      }
    
    if(leer) ...
    

    (wenn du willst, kannst du das auch noch in eine Funktion verpacken)


Anmelden zum Antworten