tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
4224
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Westbär Westbär ist offline Mitglied Bronze
    Registriert seit
    May 2007
    Ort
    Wien
    Beiträge
    44
    Hallo,
    Ich schreibe gerade an einem C Script.
    Das Script läuft zwar, jedoch kommt immer am ende Segmentation fault, welches auch if fragen blockiert.

    Code c:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    #include <stdio.h>
     
    int main(int argc, char *argv []) {
        char c = 'M';
        char con_d[] = "";
                
        printf("Scanning the Linux kernel (download from kernel.org)...");
        system("wget [url]http://www.kernel.org/kdist/finger_banner[/url] 2>/dev/null");
        system("mv finger_banner .linux_banner");
        printf(" Done \n\n");
        printf("Download the current kernel? [Yes/No] \n");
        scanf("%s",&con_d);
        if(con_d == "Yes") {
        printf("dd");
        }
        
        return 0;
    }

    con_d ist die Frage (Yes/No) (String)
    Und dann möchte ich noch eine weitere String-Variable hinzufügen, den teil mach ich aber später.

    Editor: Midnight Commander und Nano
    Compiler: GCC 4.1.2


    Ich hoffe es kann mir wer helfen,

    Gruß
     

  2. #2
    kle-ben kle-ben ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Beiträge
    492
    Hi

    Zeichenketten solltest du immer mit der Funktion strcmp vergleichen.

    Gruß Benny

    ps: Nur zur Information, C ist keine Scriptsprache.
     
    Theorie ist Wissen, das nicht funktioniert.
    Praxis ist, wenn alles funktioniert und man weiß nicht warum

  3. #3
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Hallo,

    mit der Zeile char con_d[] = ""; reservierst du ein Byte Speicherplatz. Für das "Yes" ist das etwas wenig, daher ein Absturz bei "scanf".
    Der Fehler mit dem Stringvergleich wurde ja schon genannt.

    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  4. #4
    Westbär Westbär ist offline Mitglied Bronze
    Registriert seit
    May 2007
    Ort
    Wien
    Beiträge
    44
    Dank dem Link von oben und dessen Beispieltutorial habe ich es jetzt geschafft.

    Vielen Dank, MCoder und kle-ben.

    Gruß

    PS: Das Script bin ich von PHP gewohnt, tut mir leid
     

Ähnliche Themen

  1. Segmentation fault
    Von Vippis im Forum C/C++
    Antworten: 21
    Letzter Beitrag: 05.12.10, 22:56
  2. Segmentation Fault
    Von Schnoogle im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 10.02.10, 12:25
  3. Segmentation Fault
    Von flogy92 im Forum C/C++
    Antworten: 23
    Letzter Beitrag: 28.01.09, 09:31
  4. Segmentation fault
    Von stain im Forum Linux & Unix
    Antworten: 0
    Letzter Beitrag: 28.04.08, 18:34
  5. MC-Fehler Segmentation Fault?
    Von piti66 im Forum Linux & Unix
    Antworten: 0
    Letzter Beitrag: 06.07.05, 21:06