tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von cwriter
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
337
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    peter85 peter85 ist offline Grünschnabel
    Registriert seit
    Dec 2011
    Beiträge
    1
    Hallo,

    ich bin ein totaler Anfänger in der Programmiersprache c und bräuchte deshalb ein wenig Hilfe:

    Ich benutze die neueste Version von code blocks mit mingw32-g++

    Ich bekomme zb folgenden string: sende\0status\0eingabe
    ich möchte mit strcmp dann die einzelne Teilstücke vergleichen. Dazu muss ich die einzelnen Teilstücke in einen separaten String ablegen .
    Das möchte ich mit folgendem Programm mache:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    
     
    #include <stdio.h>
    #include <stdlib.h>
     
    int main()
    {
          char befehl[10];
          befehl[0] = 't';
          befehl[1] = 'e';
          befehl[2] = 's';
          befehl[3] = 't';
          befehl[4] = '\0';
          befehl[5] = 'e';
          befehl[6] = 'r';
          befehl[7] = '\0';
          befehl[8] = 't';
          befehl[9] = '\0';
        char string[5];
        int m = 0;
        int n = 0;
        int x;
        for(x=0;x<3;x++)
        {
        while(befehl[m]);
        {
            string[n] = befehl[m];
            m++;
            n++;
        }
        m++;
        n = 0;
        printf( "%s\n", string );
        }
    }

    Das Programm lässt sich ausführen, bekomme aber keine Ausgabe.

    Ich habe es zunächst ohne die Verlegung probiert, indem ich mir einfach die Startpositionen der einzelnen Befehle im String gemerkt habe:

    Code :
    1
    
    strcmp (str[5], test)

    Dieser Code sollte dann den Teststring mit ( in dem Beispiel ) "er" vergleichen, hat aber nicht funktioniert weil der Compiler gemeckert hat und ich dann nicht weiter wusste.

    Weis jemand warum mein erster Code nicht funktioniert oder kennt jemand einen eleganteren Weg ?

    Mfg Peter
     

  2. #2
    üäpöol üäpöol ist offline Mitglied Gold
    Registriert seit
    Feb 2011
    Beiträge
    189
    Hi,
    Mach mal nach dem while(befehl[m]) das ; weg.
     

  3. #3
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Noch ein Tipp:

    Das
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
          char befehl[10];
          befehl[0] = 't';
          befehl[1] = 'e';
          befehl[2] = 's';
          befehl[3] = 't';
          befehl[4] = '\0';
          befehl[5] = 'e';
          befehl[6] = 'r';
          befehl[7] = '\0';
          befehl[8] = 't';
          befehl[9] = '\0';
    geht auch einfacher:
    Code cpp:
    1
    2
    3
    4
    
    char befehl[10];
    strcpy(befehl, "test");
    strcpy(&befehl[5], "er");
    strcpy(&befehl[8], "t");

    Gruß
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  4. #4
    cwriter cwriter ist offline Mitglied Gold
    Registriert seit
    Mar 2010
    Beiträge
    242
    Noch ein Tipp:
    Auch eine Variante:
    Code c:
    1
    
    char befehl[11] = {"test\0er\0t\0"};

    Gruss
    cwriter
    sheel bedankt sich. 
    Intel inside - Idiot outside :-)

    Ich schreibe in C und bin Anfänger.
    ______________________________

    Falls ich eines Tages einen guten Beitrag schreiben werde, bitte bewerten und/oder Danke sagen.
    Danke

Ähnliche Themen

  1. C++ Int zerlegen
    Von Shadow1911 im Forum C/C++
    Antworten: 21
    Letzter Beitrag: 25.08.10, 20:23
  2. String zerlegen
    Von touristguy im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 09.04.10, 15:28
  3. CSV - Zerlegen
    Von Raven280438 im Forum PHP
    Antworten: 5
    Letzter Beitrag: 04.12.07, 08:59
  4. C# INI zerlegen
    Von toko84 im Forum .NET Café
    Antworten: 5
    Letzter Beitrag: 16.05.07, 10:32
  5. URL Zerlegen problem :/
    Von MichaSBK im Forum PHP
    Antworten: 8
    Letzter Beitrag: 18.10.03, 15:52