Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: newline

  1. #1
    Anfänger Avatar von cyber_gh0st
    Registriert seit
    25.04.2009
    Beiträge
    208

    Frage newline

    hi
    ich habe ein Problem unzwar will ich mit folgendem Code eine Datei erstellen bezieungsweise weiterbeschreben was auch ganz gut klappt aber ich möchte das am ende der eingabe immer ein Newline ist aber ich weis nicht wie hier der Code:
    PHP-Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    int main(void)    {
        
    int c;
        
    FILE *printdata;
        if((
    printdata=fopen("usr.txt","a+"))==0)    {
            
    printf("Fehler beim öffnen der Datei!");
            exit(
    EXIT_FAILURE);
            }

        else    {
            
    printf("bitte geben sie ihren Namen ein (beenden sie die Eingabe mit einer #):");
            while ((
    c=getc(stdin))!=EOF)    {
                
    putc(c,printdata);
            }
            
    putc('\n',printdata); /iher soll ein Newlne Zeichen hin
            printf
    ("Datei wurde erfolgreich geschrieben");
        }
        return 
    EXIT_SUCCESS;

    mfg cyber_gh0st


  2. #2
    Sobig Wurm Avatar von Leange
    Registriert seit
    06.09.2008
    Beiträge
    220

    Standard

    Moin
    Evt mit endl ?
    Code:
    putc(endl,printdata);
    Edit: oh das gibts nich in C oder? -.- sry
    Geändert von Leange (30.06.2009 um 12:10 Uhr)

    Freiheit stirbt mit Sicherheit

  3. #3
    Bad Times Virus
    Registriert seit
    14.03.2009
    Beiträge
    579

    Standard

    "\r\n"?->bei win xp sp 3 klapptet
    achso das mit dem # beendet die eingabe funktioniert unter win nich.
    selftested
    Geändert von wacked (30.06.2009 um 12:18 Uhr)

  4. #4
    this.hatcolor = gray Avatar von Ancient87
    Registriert seit
    29.03.2009
    Beiträge
    143

    Standard

    printf einfach ein \n \r oder schreib ein endl; auf den stream

    std::cout << endl;
    Knowledge is power - don't abuse it!

    Fuer niveauvolle Anfragen bin ich unter 139156343 erreichbar

  5. #5
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    @cyber_ghost
    Code:
    while ((c=getc(stdin))!=EOF) {
    macht wenig Sinn, da stdin End-Of-File (EOF) nie erreichen wird (es sei denn du benutzt Pipes um einen Dateistream in stdin umzuleiten...)

    Versuch' es mal mit:
    Code:
    while ((c=getc(stdin))!='\n') {

    mfG. BlackBerry

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  6. #6
    this.hatcolor = gray Avatar von Ancient87
    Registriert seit
    29.03.2009
    Beiträge
    143

    Standard

    Afaik ist in windows ^Z ein EOF also wenn du den sendest solltest der loop guard false sein ?
    Knowledge is power - don't abuse it!

    Fuer niveauvolle Anfragen bin ich unter 139156343 erreichbar

  7. #7
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Wer macht das schon?
    cyber_ghost wollte sicher, dass der Benutzer seinen Namen eingibt und dann Enter drückt.

    Außerdem fällt das mehr unter Pipes benutzen - also Eingabemanipulation.

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  8. #8
    Anfänger Avatar von cyber_gh0st
    Registriert seit
    25.04.2009
    Beiträge
    208

    Standard

    das mit endl klappt nicht gibts nur in C++ ich möchte aber reines C Programmieren (im Moment)

    der Code sieht so aus:
    PHP-Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    int main(void)    {
        
    int c;
        
    FILE *printdata;
        if((
    printdata=fopen("usr.txt","a+"))==0)    {
            
    printf("Fehler beim öffnen der Datei!");
            exit(
    EXIT_FAILURE);
            }

        else    {
            
    printf("bitte geben sie ihren Namen ein:");
            while ((
    c=getc(stdin))!='\n')    {
                
    putc(c,printdata);
            }
            
    putc(endl,printdata);//<--- KLAPPT NICHT suche was anderes (reines C) :\
        
    }
        return 
    EXIT_SUCCESS;

    ich brauche etwas was ich für endl einsetzen kann damit in usr.txt nach der Eingabe eine neue Zeile angefangen wird...

    mfg cyber_gh0st


  9. #9
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    endl = \r\n

    -->
    puts("\r"); // puts fügt automatisch ein \n hinzu
    printf("\r\n"); // selbsterklärend

    putc('\r', stdout);
    putc('\n', stdout); // einzeln

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  10. #10
    this.hatcolor = gray Avatar von Ancient87
    Registriert seit
    29.03.2009
    Beiträge
    143

    Standard

    das machst ja in linux dauernd nur das es da halt ctrl+d ist
    Knowledge is power - don't abuse it!

    Fuer niveauvolle Anfragen bin ich unter 139156343 erreichbar

Seite 1 von 2 12 LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •