Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > тип char и файлы


Автор: DESert 27.12.2005, 22:49
подскажите в чём ошибка?
Код

FILE* file1;
FILE* file;
char chr;
file = fopen("file.txt", "r");
chr=fgetc(file);
fclose(file);
file1 = fopen("out.txt","w");
fscanf(file1, "%s", chr);
fclose(file1);


смысла в этом коде не ищете... можно сказать учебный вариант... хочется считать один символ из файла(file), а затем этот символ в другой файл записать(file1)
может быть как-то по-другому надо всё организовать?
Добавлено @ 22:50
после выполнения ничего во второй файл не записывается
Добавлено @ 22:51
smile

Автор: Бегемот 27.12.2005, 23:01
Цитата
после выполнения ничего во второй файл не записывается

DESert, ну так конечно не записывается!
функция fscanf считывает из потока! А вот функция fputc ,записывает в него!
Код

fputc(chr,file1);


Автор: JoyEx 27.12.2005, 23:03
Смотри
Код

    FILE* file1 = NULL, file = NULL;
    char chr;
    file = fopen("e:\\file.txt", "r");
    chr=fgetc(file);
    fclose(file);
    file1 = fopen("e:\\out.txt","w+");
    fwrite(&chr, 1, 1, file1);
    fclose(file1);


Файл file.txt должен быть до вызова fopen!

Автор: DESert 27.12.2005, 23:04
блииииин!!!! тооочно!!!! я тупой smile
спасибо большое smile

Автор: qBiN 27.12.2005, 23:04
Вопщем все уже сказали, я только добавлю...
Цитата
"%s"
Мне кажется в этом, %s=string строка в Си\си++ массив символов,в конце которого \0 а тут у тебя один символ используй %c-char

Автор: Бегемот 27.12.2005, 23:14
Цитата
Мне кажется в этом, %s=string строка в Си\си++ массив символов,в конце которого \0 а тут у тебя один символ используй %c-char


???????...

Автор: DESert 27.12.2005, 23:15
а если я весь файл хочу по символьно в другой
это так:
Код

file = fopen("file.txt", "r");
file1 = fopen("out.txt","w");
    while(feof(file))
        {
            chr=fgetc(file);
                        
            fputc(chr,file1);
        }

    fclose(file);
    fclose(file1);

не работает, зараза...
Добавлено @ 23:16
мне просто нужно имено по символьно, а не целиком... чтобы с символом считываемым можно было работать

Автор: Бегемот 27.12.2005, 23:30
DESert, Можешь так сделать
Код

   FILE* file1;
   FILE* file;
   char chr;
   file = fopen("file.txt", "r");
   file1 = fopen("out.txt","w+");
   while((chr=getc(file))!=EOF)
      fputc(chr,file1);
   fclose(file);
   fclose(file1);

Автор: DESert 27.12.2005, 23:38
Бегемот, большой тебе сенкс!! smile

Автор: Бегемот 27.12.2005, 23:44
Да ну ладно, было бы за что! smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)