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

fwrite не записывает четырехзначное число в бинарный файл - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 1, средняя оценка - 5.00
YoungProgrammer
4 / 4 / 1
Регистрация: 18.01.2011
Сообщений: 206
11.11.2012, 21:23     fwrite не записывает четырехзначное число в бинарный файл #1
Кодик:
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
char* InputFileName = "intput.dat";
int Size = 10;
 
main ()
{
 
        FILE *wF = NULL;
        unsigned int El;
        int i;
        wF = fopen(InputFileName, "w");
        printf("Write num of elements:");
        scanf("%d", &Size);
        for (i = 0; i < Size; i++)
        {
                printf("Write Element: ");
                scanf("%s",&El);
                fwrite(&El,sizeof(El),1,wF);
        }
        fclose(wF);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2012, 21:23     fwrite не записывает четырехзначное число в бинарный файл
Посмотрите здесь:

четырехзначное число C++
Дано четырехзначное натуральное число А. Требуется определить что больше: число А или произведение его цифр? C++
C++ Дано натуральное четырехзначное число n. Определить, является ли это число перевертышем
Бинарные файлы. Написать функцию, которая записывает в бинарный файл N случайных вещественных чисел в указанном диапазоне C++
Fwrite и freed, запись массива структур в файл C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
11.11.2012, 21:26     fwrite не записывает четырехзначное число в бинарный файл #2
Цитата Сообщение от YoungProgrammer Посмотреть сообщение
fwrite не записывает четырехзначное число в бинарный файл!
как вы это выяснили?
почему файл открываете как текстовый?
что возвращает fwrite ?
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
11.11.2012, 21:29     fwrite не записывает четырехзначное число в бинарный файл #3
Цитата Сообщение от YoungProgrammer Посмотреть сообщение
C++
1
2
3
unsigned int El;
...
scanf("%s",&El);
А зачем вы пытаетесь считать строку в int?
YoungProgrammer
4 / 4 / 1
Регистрация: 18.01.2011
Сообщений: 206
11.11.2012, 21:55  [ТС]     fwrite не записывает четырехзначное число в бинарный файл #4
PHP
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
char* InputFileName = "intput.dat";
int Size = 10;
 
main ()
{
 
        FILE *wF = NULL;
        unsigned int El;
        int i;
        wF = fopen(InputFileName, "wb");
        printf("Write num of elements:");
        scanf("%d", &Size);
        for (i = 0; i < Size; i++)
        {
                printf("Write Element: ");
                scanf("%s",&El);
                fwrite(&El,1,sizeof(El),wF);
        }
        fclose(wF);
}
Теперь "wb" вместо "w" Но проблема та же
YoungProgrammer
4 / 4 / 1
Регистрация: 18.01.2011
Сообщений: 206
11.11.2012, 22:00  [ТС]     fwrite не записывает четырехзначное число в бинарный файл #5
Вот скрин
Миниатюры
fwrite не записывает четырехзначное число в бинарный файл  
YoungProgrammer
4 / 4 / 1
Регистрация: 18.01.2011
Сообщений: 206
11.11.2012, 22:04  [ТС]     fwrite не записывает четырехзначное число в бинарный файл #6
Проблема решена:
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
char* InputFileName = "intput.dat";
int Size = 10;
 
main ()
{
 
        FILE *wF = NULL;
        unsigned int El;
        int i;
        wF = fopen(InputFileName, "wb");
        printf("Write num of elements:");
        scanf("%d", &Size);
        for (i = 0; i < Size; i++)
        {
                printf("Write Element: ");
                scanf("%d",&El);
                fwrite(&El,1,sizeof(El),wF);
        }
        fclose(wF);
}
Yandex
Объявления
11.11.2012, 22:04     fwrite не записывает четырехзначное число в бинарный файл
Ответ Создать тему
Опции темы

Текущее время: 16:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru