Beiträge von NonSense

    Ich suche einen Skype status Indikator. Habs mit diesen von:

    Code
    http://www.onlinestatus.org/


    vesucht aber mit Skype funktioniert es nicht. Mit ICQ schon.
    Weiss jemand ueber irgendwelchem Indikator das funktioniert?

    Hallo, ich versuche 2 Kindprozesse von dem urspünglichen Prozess zu erzeugen die folgende Funktionalität haben:
    Der Vater liest zeichenweise von stdin und schreibt die eingelesene Zeichen in der ersten Pipe. Das erste Kind liest von dieser Pipe die Zeichen aus und gibt diese weiter an die zweite Pipe. Das zweite Kind liest diese Zeichen von der zeiten Pipe und gibt diese auf stdout aus.

    Ich bin nicht sicher ob ich das zweite fork() an der richtigen Stelle habe, bzw. das zweite wait().

    Kompilierbar ist es problemlos aber nach der ausführung werden die zeichen nur gelesen aber nichts wird ausgegeben. Den Programm kann man auch nicht mit strg+D terminieren.

    Hat jemand eine Idee was ich da falsch mache?

    Source:

    danke für jede Hilfe.
    mfg NonSense

    ich würd mal sagen ohne -ansi kompilieren.

    Ohne -ansi ist es bissl Problem weil die Richtlinien für Sysprog sind leider fest vorgegeben:

    Code
    Das Programm muss mit          gcc -ansi -pedantic -Wall -g -c filename.c          ohne Warnings und Info-Meldungen compiliert          werden können (siehe Buch S. 182!).          Sehen Sie keine Möglichkeit, eine          Compilerwarnung zu entfernen, so fragen          Sie einen Betreuer.

    Bekomme diesen Warning:

    Code
    einaus.c: In function âmainâ:
    einaus.c:114: warning: ISO C90 forbids mixed declarations and code

    Zugehörige Zeile:

    Code
    char line[MAX_LENGTH+1];

    MAX_LENGTH ist defined in header der in einaus.c inkludiert ist.
    Was soll ich ändern, damit diese Warnung weg ist?

    Ich glaube Dein Problem ist, dass Du vergisst '\0' am Ende von invertline zu setzen. Dadurch gibt er immer den ganzen puffer aus.
    Versuche einmal, ob invertline[x+1] = '\0' vor der for-Schleife das Problem löst.

    Toll, es hat geklappt :)
    Danke:thumb:

    Hmm eigentlich hat es mir nicht sehr geholfen.
    Ich versuche einen invertstr program zu machen, es liest zeilenweise aus dem stdin, invertiert die Zeile und gibt wieder aus.
    Wenn ich das invertline[0] = '\0' benutze dann ist das invertline für immer leer.
    Hier der Source:

    Na ja, danke. Aber mir interessiert wie man es selbst ausprogramieren kann. Ohne das eingebaute Prädikat zu nutzen. Hab es mit diesem delete versucht aber eine Sache gefällt mir nicht. Wenn ich z.B. eine Liste [a,b,b,c] habe und möchte das Element b löschen. Kann man das irgendwie machen, dass nur das erste b gelöscht wird und nicht jede b?