Форум программистов, компьютерный форум CyberForum.ru

Возможно ли записать в последний символ EOF? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Открытка http://www.cyberforum.ru/cpp-beginners/thread134623.html
Всем привет, прошу помочь с написание открытки на новый год, если можно с анимацией, заранее премного благодарен! Добавлено через 3 часа 18 минут Плиззз помогите
C++ Классы и компоненты Для класса class String { char* Buff; unsigned Size; ... } написать конструктор http://www.cyberforum.ru/cpp-beginners/thread134622.html
C++ функции для шифрации и дешифрации некоторого текста
добрый вечер.... нужна помощь....срочно:( Фраза шифруется следующим образом: посе первых двух символов вставляется слог БУ,после следующих двух вставляется КА, это повторяется до тех пор, пока в фразе есть хотя бы две буквы. Например, фраза Я ОТ БАБУШКИ УШЕЛ Шифруется так: Я БУОТКА ББУАБКАУШБУКИКА УБУШЕКАЛ Напишите функции для шифрации и дешифрации некоторого текста. Функции main в...
Написать и протестировать функцию STR_CMP(str1,str2) C++
добрый день... очень нужна помощь... Написать и протестировать функцию STR_CMP(str1,str2), которая сравнивает строки str1 и str2. Функция должна работать для русских букв, возвращать 1, если строки равны и 0 в противном случае.
C++ Отсортировать элементы каждой строки квадратной матрицы размерностью N по убыванию. http://www.cyberforum.ru/cpp-beginners/thread134616.html
добрый день.... нужна ваша помощь.... Отсортировать элементы каждой строки квадратной матрицы размерностью N по убыванию. Значение N программа должна запрашивать в диалоговом режиме, память под матрицу следует распределять динамически. Напищите функции: -заполнения двумерного массива случайными числами из диапазна –200, +200; -вывода двумерного массива; -сортировки строки матрицы по...
C++ Непонятка с функцией(ошибка в коде) Необходимо вычислить значения нескольких сумм с помощью функций в следующей функции: y=a+4*sum J=2, N+1(3*J^2+J+2)/4+3*sum J=1,N(2*J+3);J - начальное значение суммы, следовательно N - конечное. Помогите найти ошибку в коде при А=6, и N=8. Ответ: 8.464864864864865 #include <stdio.h> #include <math.h> float func (int, int, int, int, int); int main () { float s1, s2, y; int N; подробнее

Показать сообщение отдельно
dev001
36 / 36 / 3
Регистрация: 13.05.2010
Сообщений: 70
24.05.2010, 12:13     Возможно ли записать в последний символ EOF?
символ EOF это -1 функции fread, fwrite и так далее возвращают его если например достигнут конец файл при чтении.
Мне если честно не понятно зачем его писать в файл последним символом?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <conio.h>
 
int main(int argc, char **argv) {
    FILE *in, *out;
    int last, size = 64;
    int read_size = 4096;
    char *buff = NULL, *p, *buff1, *q;
    char filename[50];
    
    printf("enter filename: ");
    scanf("%s", filename);
    
    in = fopen(filename, "r");
    if(!in) {
        printf("cannot open file %s\n", filename);
        goto error_exit;
    }
    
    buf = malloc(size);
    /* как пример чтения */
    while((last = fread(buf, 1, 64, in)) != EOF) { // FIXME
          if(last > size) {
               size += last;
               buf = realloc(buf, size); // FIXME
          }
    }
    buf[size - 1] = 0;
    p = buf;
    fclose(in);
    buff1 = strdup(buf);
    q = buff1;
    for(; p < buf + size; p++) {
         if(*p == ' ' && p[1] == ' ') continue;
         else if(*p == ' ' && p[1] != ' ') *q = ' ';
         else *q++ = *p;    
    }
    out = fopen(filename, "w");
    fwrite(buff1, 1, strlen(buff1), out);
    fclose(out);
    return 0;
error_exit:
    return 255; // abort
}
код не тестировал, это как пример
 
Текущее время: 07:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru