Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 02.11.2019
Сообщений: 14
1

С клавиатуры вводится последовательность чисел до нуля, записать ее в бинарный файл

24.11.2019, 15:29. Показов 1280. Ответов 3
Метки нет (Все метки)

С клавиатуры вводится последовательность целых чисел пока не появится 0. Записать эту последовательность в бинарный файл data.bin. Мой код не вводит до 0 и не записывает.Помогите пожалуйста
#define _CRT_SECURE_NO_WARNINGS
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
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
#define _CRT_SECURE_NO_WARNINGS
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
 
#define ERROR_FILE_OPEN -3
 
int main() {
    FILE* output;
    //int number;
 
    char s[80];
    for (int i = 0; i < 80; ++i)
    {
        scanf("%s", s[i]);
        if (s[i] == "0")
            break;
    }
    output = fopen("output.bin", "wb");
    /*  if (output == NULL) {
            printf("Error opening file");
            _getch();
            exit(ERROR_FILE_OPEN);
        }
    */
    //scanf("%d", &number);
    fwrite(s, sizeof(s), 1, output);
    fclose(output);
    return 0;
}
/
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2019, 15:29
Ответы с готовыми решениями:

Вводится последовательность из N целых чисел, отличных от нуля. Определить, сколько раз последовательность меняет знак
Вводится последовательность из N целых чисел, отличных от нуля. Определить, сколько раз...

Вводится последовательность из целых чисел, отличных от нуля
Вводится последовательность из целых чисел, отличных от нуля. Ноль является окончанием ввода. Найти...

Вводится последовательность чисел до первого нуля, найти количество четных чисел. Только цикл через while
Вводится последовательность чисел до первого нуля, найти количество четных чисел.

с клавиатуры вводится последовательность чисел
0-конец этой последовательности. Заменить все четные элементы последовательности на нечетные

3
1 / 1 / 1
Регистрация: 28.09.2015
Сообщений: 129
24.11.2019, 16:55 2
он открывает файл а создать и потом в нем записать что-то это другое, после того как объявили что нужно нужно прописать полный путь и потом создать его там

Добавлено через 2 минуты
вот пример
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
 
#define ERROR_FILE_OPEN -3
 
void main() {
    FILE *output = NULL;
    int number;
 
    output = fopen("D:/c/output.bin", "wb");
    if (output == NULL) {
        printf("Error opening file");
        getch();
        exit(ERROR_FILE_OPEN);
    }
 
    scanf("%d", &number);
    fwrite(&number, sizeof(int), 1, output);
 
    fclose(output);
    _getch();
}
Запись в файл осуществляется с помощью функции
size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );
0
0 / 0 / 0
Регистрация: 02.11.2019
Сообщений: 14
24.11.2019, 17:46  [ТС] 3
Fadjr, а можете код написать для последовательности до 0 пожалуйста? Я все равно не совсем понял я открываю файл и записываю туда мой массив символов так?
0
1 / 1 / 1
Регистрация: 28.09.2015
Сообщений: 129
24.11.2019, 19:41 4
я вам дал код который нужно использовать, достаточно слегка его переделать и он будет готов.

Добавлено через 25 минут
вот более качественный, файл нужно создать вручную и прописать путь до того файла потом то что вы введите в консоль будет в файле и дополнительно покажет что написали
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
47
48
49
50
51
52
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
 
#define ERROR_FILE_OPEN -3
 
void main() {
    const char filename[] = "C:/data.txt";
    const char termWord[] = "exit";
    char buffer[128];
    unsigned int len;
    FILE *wordsFile = NULL;
 
    printf("Opening file...\n");
 
    wordsFile = fopen(filename, "w+b");
    if (wordsFile == NULL) {
        printf("Error opening file");
        getch();
        exit(ERROR_FILE_OPEN);
    }
 
    printf("Enter words\n");
    do {
        scanf("%127s", buffer);
        if (strcmp(buffer, termWord) == 0) {
            len = 0;
            fwrite(&len, sizeof(unsigned), 1, wordsFile);
            break;
        }
        len = strlen(buffer);
        fwrite(&len, sizeof(unsigned), 1, wordsFile);
        fwrite(buffer, 1, len, wordsFile);
    } while(1);
     
    printf("rewind and read words press any key\n");
    rewind(wordsFile);
    getch();
 
    do {
        fread(&len, sizeof(int), 1, wordsFile);
        if (len == 0) {
            break;
        }
        fread(buffer, 1, len, wordsFile);
        buffer[len] = '\0';
        printf("%s\n", buffer);
    } while(1);
    fclose(wordsFile);
    getch();
}
Добавлено через 39 секунд
чтобы выйти достаточно написать exit
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2019, 19:41

С клавиатуры вводится последовательность из n целых чисел
1. С клавиатуры вводится последовательность из n целых чисел ( n-вводится с клавиатуры). Найти...

С клавиатуры вводится последовательность натуральных чисел
С клавиатуры вводится последовательность натуральных чисел. Признак конца ввода- отрицательное...

С клавиатуры вводится последовательность из n целых чисел
С клавиатуры вводится последовательность из n целых чисел. Найти сумму отрицательных чисел. ...

Последовательность целых ненулевых чисел вводится с клавиатуры
Последовательность целых ненулевых чисел вводится с клавиатуры. Окончанием последовательность...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru