Двоичный файл в C по входной строке - PullRequest
0 голосов
/ 01 июня 2019

В MAIN мы просим пользователя ввести строку. Как только строка будет взята, символ "/ N" должен быть удален. Который добавил его в качестве последней строки перед часовым. Используйте fgets - строки, если n. Таким образом, что строка написана в том числе '/ 0'. В конце которого программа запишет строку в двоичный файл. Каждый символ, который мы читаем из файла, должен быть помещен в динамический массив, чтобы каждый элемент fread. Затем прочитать весь файл с динамическим массивом будет еще один символ из файла. (Включая '/ 0'.)

Я не знаю, как сделать «Каждый символ, который мы читаем из файла, должен быть помещен в динамический массив, чтобы каждый элемент fread.»

int main() {
    char str[LEN];
    printf("\n Please enter the string: ");
    clean();
    fgets(str, LEN, stdin);
    removeNewLine(str);

    FILE *fp = fopen("1.dat", "w+b");
    if(fp == NULL) {
        fprintf(stderr, "Can not open the file\n");
        exit(1);
    }

    if(fwrite(str, sizeof(str), 1, fp) != 1) {
        fprintf(stderr, "Can not write the file\n");
        exit(1);
    }

    rewind(fp);

    char tmp;
    while(fread(&tmp, sizeof(char), 1, fp) == 1)
        printf("%d, ", tmp);
    if(ferror(fp)) {
        fprintf(stderr, "Can not read the file\n");
        exit(2);
    }

    fclose(fp);

    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...