2017-01-20 3 views
0

Я хочу, чтобы программа печатала слово hello в текстовый файл с помощью строк.Печать в текстовый файл в c с использованием строк

#include <stdio.h> 

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

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

В чем же проблема, помимо некоторых основных ошибок синтаксиса? –

+0

как-то я неправильно использую fprintf, потому что текст не отображается в текстовом файле. –

+1

Полностью включите предупреждения компилятора. Он должен жаловаться на 'fprintf (fp, word [0]);' – chux

ответ

2

Вы печати первый символ вместо строки. И это может быть и не допустимый формат. Правильный вызов будет fprintf(fp, "%s", word). И не забудьте также закрыть файл.

+0

Как сканировать строковое слово и помещать его в массив строк? В настоящее время я использую scanf ("% s", & word_entered [5]); но он не работает. Thnks –

+0

Что такое тип word_entered? С декларациями из кода в вопросе, это должно быть scanf ("% s", word). См. Примеры здесь: http://www.cplusplus.com/reference/cstdio/scanf/ Остерегайтесь, хотя scanf считывает из std in, а не из файла или другой строки. Сканирование строк с помощью scanf считается опасным, поскольку кто-то может вводить гораздо более длинную строку, чем может потребоваться ваш буфер. – Seva

+0

Скорее всего scanf ("% s", word_entered [5]); это то, что вам нужно. Но это зависит от фактических объявлений типа. – Seva

1

Попробуйте это ..

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

Мне нужна программа для работы со строками. –

Смежные вопросы