Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 24.02.2013
Сообщений: 47
1

чтение

02.03.2013, 22:51. Показов 754. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
почему выкидывает
C++
1
2
3
4
5
6
7
8
cout<<"Starting read date\n\n";
    file=fopen("date.txt", "r");
    for(int i=0;i<num;i++)
    {
        fread(&el,sizeof(int),1,file);
        mas[i]=el;
    }
    fclose(file);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.03.2013, 22:51
Ответы с готовыми решениями:

Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление)
Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В...

Переделать в коде чтение из файла в чтение с клавиатуры
Переделайте что бы текст считывался с клавиатуры, а не с файла! Буду благодарен за помощь! //файл...

Чтение из файла. Повторное чтение файла
Добрый день. Необходимо реализовать в программе функцию повторного чтения данных из файла, в случае...

Как заменить чтение строки из консоли на чтение текстового файла?
основное задание: найти частоту суффикса (например, &quot;ing&quot;) в текстовом документе. в...

19
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
02.03.2013, 22:59 2
Что пишет?
0
1 / 1 / 0
Регистрация: 24.02.2013
Сообщений: 47
02.03.2013, 23:12  [ТС] 3
вылетает
сразу выскакивает окно на закрытие программы
0
27 / 27 / 11
Регистрация: 26.10.2012
Сообщений: 101
02.03.2013, 23:14 4
а ти файл создал на компе ???
0
1 / 1 / 0
Регистрация: 24.02.2013
Сообщений: 47
02.03.2013, 23:15  [ТС] 5
да , все норм. перезапустил вижуал все норм, но теперь не читает тупо.....массив не заполняет
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
02.03.2013, 23:17 6
Если да, то что там. Должны быть int в бинарном виде записаны.
0
1 / 1 / 0
Регистрация: 24.02.2013
Сообщений: 47
02.03.2013, 23:18  [ТС] 7
а подробнее?
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,493
Записей в блоге: 1
02.03.2013, 23:19 8
это ты нам поподробнее. Что в файле? Файл целиком. И программу целиком.
0
27 / 27 / 11
Регистрация: 26.10.2012
Сообщений: 101
02.03.2013, 23:21 9
попробуй поставить rb
0
1 / 1 / 0
Регистрация: 24.02.2013
Сообщений: 47
02.03.2013, 23:22  [ТС] 10
в файле цифры
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
void steck::input_file()
{
    FILE *file;
    int el,i=0,num;
    file=fopen("date.txt", "w");
    cout<<"Recoding date -"<<endl;
    cout << "Enter num of elements-> ";
    cin >> num;
    for (i=1; i<=num; i++)
    { 
        cout << "Enter value of element-> ";
        cin>>el;
        fprintf(file,"%d",el);
    }
    fclose(file);
    cout<<"\nRecoding is complete\n";
    loading();
    system("cls");
    cout<<"Starting read date\n\n";
    file=fopen("date.txt", "r");
    for(int i=0;i<num;i++)
    {
        fread(&el,sizeof(int),1,file);
        mas[i]=el;
    }
    fclose(file);
    cout<<endl<<"\n\nReading is complete\n\n"<<endl;
    loading();
    loading();
    system("cls");
}
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,493
Записей в блоге: 1
02.03.2013, 23:30 11
Цитата Сообщение от 13oops13 Посмотреть сообщение
в файле цифры
Может числа?
Файл не должен быть текстовым, если ты эти "цифры" хочешь прочитать в массив таким образом.
0
1 / 1 / 0
Регистрация: 24.02.2013
Сообщений: 47
02.03.2013, 23:45  [ТС] 12
rb не помогла

Добавлено через 31 секунду
ой сори ))) числа))
0
27 / 27 / 11
Регистрация: 26.10.2012
Сообщений: 101
02.03.2013, 23:46 13
попробуй забрать амперсант
1
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
02.03.2013, 23:59 14
Попробуйте так записывать числа в файл:
C++
1
2
3
4
5
6
for (i = 0; i < num; i++)
{ 
      cout << "Enter value of element-> ";
      cin >> el;
      fwrite((const char*)&el, sizeof(int), 1, file);
}
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,493
Записей в блоге: 1
03.03.2013, 00:24 15
Цитата Сообщение от 13oops13 Посмотреть сообщение
rb не помогла
ещё раз. НЕЛЬЗЯ так читать текстовый файл. Ты его читаешь как бинарный. А создавал наверняка в блокноте как текстовый.
0
1 / 1 / 0
Регистрация: 24.02.2013
Сообщений: 47
03.03.2013, 00:30  [ТС] 16
без & ругается

Добавлено через 2 минуты
Цитата Сообщение от alsav22 Посмотреть сообщение
Попробуйте так записывать числа в файл:
C++
1
2
3
4
5
6
for (i = 0; i < num; i++)
{ 
      cout << "Enter value of element-> ";
      cin >> el;
      fwrite((const char*)&el, sizeof(int), 1, file);
}
нифига

Добавлено через 1 минуту
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
ещё раз. НЕЛЬЗЯ так читать текстовый файл. Ты его читаешь как бинарный. А создавал наверняка в блокноте как текстовый.
вот функция
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
void steck::input_file()
{
    FILE *file;
    int el,i=0,num;
    file=fopen("date.txt", "wb");
    cout<<"Recoding date -"<<endl;
    cout << "Enter num of elements-> ";
    cin >> num;
    for (i=1; i<=num; i++)
    { 
        cout << "Enter value of element-> ";
        cin>>el;
        fprintf(file,"%d",el);
    }
    fclose(file);
    cout<<"\nRecoding is complete\n";
    loading();
    system("cls");
    cout<<"Starting read date\n\n";
    file=fopen("date.txt", "rb");
    for(int i=0;i<num;i++)
    {
        fread(&el,sizeof(int),1,file);
        mas[i]=el;
    }
    fclose(file);
    cout<<endl<<"\n\nReading is complete\n\n"<<endl;
    loading();
    loading();
    system("cls");
}
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,493
Записей в блоге: 1
03.03.2013, 00:36 17
Цитата Сообщение от 13oops13 Посмотреть сообщение
fprintf(file,"%d",el);
а что тогда fscanf использовать религия не позволяет??? Зачем было врать, что файл бинарный? - у тебя он текстовый. Было бы это известно сразу - обсуждение не ушло б дальше первой страницы.
Если бы файл был бинарный, то И писать в него И читать из него надо было вот так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdio>
 
int main ()
{
 //запись
  FILE * wFile;
  int numbers[] = { 30 , 40 , 50 };
  wFile = fopen ( "myfile.bin" , "wb" );
  fwrite (numbers , sizeof(int) , 3 , wFile );
  fclose (wFile);
 
//чтение
  FILE * rFile;
  int results[4];
  rFile = fopen ( "myfile.bin" , "rb" );
  fread (results , sizeof(int) , 3 , rFile );
  fclose (rFile);
//проверка
  printf("%d %d %d", results[0], results[1], results[2]);
  getchar();
  return 0;
}
Но он у тебя НЕ двоичный. Ты просто врал всё это время.
0
1 / 1 / 0
Регистрация: 24.02.2013
Сообщений: 47
03.03.2013, 00:41  [ТС] 18
я переписал, результат прежний , не читает
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
void steck::input_file()
{
    FILE *file;
    int el,i=0,num;
    file=fopen("date.bin", "wb");
    cout<<"Recoding date -"<<endl;
    cout << "Enter num of elements-> ";
    cin >> num;
    for (i=1; i<=num; i++)
    { 
        cout << "Enter value of element-> ";
        cin>>el;
        //fprintf(file,"%d",el);
        fwrite (&el , sizeof(int) , 1 , file );
    }
    fclose(file);
    cout<<"\nRecoding is complete\n";
    loading();
    system("cls");
    cout<<"Starting read date\n\n";
    file=fopen("date.bin", "rb");
    for(int i=0;i<num;i++)
    {
        //fread(&el,sizeof(int),1,file);
        fread (&el , sizeof(int) , 1 , file );
        mas[i]=el;
    }
    fclose(file);
    cout<<endl<<"\n\nReading is complete\n\n"<<endl;
    loading();
    loading();
    system("cls");
}
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
03.03.2013, 01:14 19
Цитата Сообщение от 13oops13 Посмотреть сообщение
не читает
Откуда видно? Что loading() делает?

Добавлено через 6 минут
Как mas создаётся?
0
1 / 1 / 0
Регистрация: 24.02.2013
Сообщений: 47
03.03.2013, 12:55  [ТС] 20
все уже все норм......ошибка оказалась очень глупая)) я почему то ввел локальную переменную с таким же именем как в классе и данные в неё записывал а переменная класса оставалась равная 0 поэтому массив и не выводился
0
03.03.2013, 12:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2013, 12:55
Помогаю со студенческими работами здесь

Чтение чисел из файла. Чтение после конца потока невозможно
Товарищи, помогите. В Pascal'e я не силен, так что не бейте меня ногами, но есть задача: написать...

Чтение файла, чтение названия папки где находится файл, запись данных на PHP
Допустим у нас есть структура с папками типа Large -&gt; Vehicles -&gt; Firetruck_0 В этой папке лежит...

Чтение файла CSV и чтение из Table View
Здравствуйте, задача считать столбцы и строки excel в TextEdit. Прошу помощи в реализиции. ...

Чтение бинарного файла - чтение первых 9 байт
Есть код, который читает первые 9 байт бинарного файла(заголовок записи) void...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru