2017-01-20 3 views
0

Ich möchte das Programm das Wort hallo in die Textdatei mit Hilfe von Zeichenfolgen drucken.Drucken in eine Textdatei in c mit Zeichenfolgen

#include <stdio.h> 

void main() 
{ 
    char word[10] = {"hello"}; 
    FILE*fp; 
    fp = fopen("C:\\temp\\Dictionary.txt", "w+"); 

    fprintf(fp, word[0]); 
} 
+0

Was ist das Problem, abgesehen von einigen grundlegenden Syntaxfehlern? –

+0

irgendwie bin ich in der fprintf falsch, weil Text nicht in der Textdatei angezeigt wird. –

+1

Aktivieren Sie vollständig Ihre Compiler-Warnungen. Es sollte sich beschweren 'fprintf (fp, word [0]);' – chux

Antwort

2

Sie drucken erste Zeichen anstelle der Zeichenfolge. Und es könnte auch kein gültiges Format sein. Der korrekte Anruf lautet fprintf(fp, "%s", word). Und vergessen Sie nicht, die Datei zu schließen.

+0

Wie kann ich ein String-Wort scannen und in ein String-Array einfügen? Ich verwende derzeit scanf ("% s", & word_entered [5]); aber es funktioniert nicht. Tnks –

+0

Was ist der Typ von Word_entered? Bei den Deklarationen aus dem Code in der Frage sollte es scanf ("% s", Wort) sein. Beispiele finden Sie hier: http://www.cplusplus.com/reference/cstdio/scanf/ Beachten Sie, dass scanf von std in, nicht von einer Datei oder einer anderen Zeichenkette liest. Und das Scannen von Strings mit scanf wird als gefährlich angesehen, da jemand einen viel längeren String eingeben kann, als es der Puffer kann. – Seva

+0

Sehr wahrscheinlich scanf ("% s", word_entered [5]); ist was du willst. Aber es hängt von tatsächlichen Typdeklarationen ab. – Seva

1

die Sie interessieren ..

FILE *f = fopen("file.txt", "w"); 
if (f == NULL) 
{ 
    printf("Error opening file!\n"); 
    exit(1); 
} 

/* print some text */ 
const char *text = "Write this to the file"; 
fprintf(f, "Some text: %s\n", text); 

fclose(f); 
+0

Ich brauche das Programm, um mit Zeichenketten zu arbeiten. –

Verwandte Themen