Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
28 / 57 / 6
Регистрация: 10.01.2011
Сообщений: 1,231
1

Ошибка записи в файл с использованием ifstream

03.07.2012, 14:24. Показов 926. Ответов 6
Метки нет (Все метки)

Здравствуйте! Я использую visual studio и у меня вылазит ошибка при компилировании следущего кода, а в Borland все работало:
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
Main.cpp
#include "main.h"
 
void main ()
{
    ClassA c("2",3,6,4);
    std::ofstream obj1("example.txt");
    obj1.write((char*)&c,sizeof(ClassA));
    obj1.close();
    
    ClassA c2("0",0,0,0);
    std::ifstream obj2("example.txt");
    obj2.read((char*)&c2,sizeof(ClassA));
    obj2.close();
 
    std::cin >> "";
}
 
main.h
#include <ifstream>
#include <iostream>
class ClassA 
{
public:
    ClassA(char*,int,int,int);
private:
    char fl[100];
    int r;
    int qm;
    int qsm;
};
 
ClassA::ClassA(char *fl, int r, int qm, int qsm)
{
      strcpy(ClassA::fl, fl);
      ClassA::r = r;
      ClassA::qm = qm; 
      ClassA::qsm = qsm;                   
};
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.07.2012, 14:24
Ответы с готовыми решениями:

Проверка существования файла с использованием ifstream()
гуглил, но ничего там так и не нашел. Собственно как?

Исправить код записи в файл с использованием потоков
Не работает вот этот код. При выполнении программа выключается. FileInfo file = new...

Замена произвольной строки в текстовом файле с использованием ifstream\ofstream
Здравствуйте. Есть текстовый файл с содержанием слов и цифр: 0 слово 1 слово 2 слово 3 ...

Задача с использованием структуры «файл» (в файле хранятся записи). Определить стоимость самого дорогого конструктора
(Тема - типизированные файлы)

6
Эксперт С++
1067 / 846 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
03.07.2012, 15:04 2
Какая ошибка ?
1
Jesus loves me
Эксперт С++
5199 / 3172 / 358
Регистрация: 12.12.2009
Сообщений: 8,021
Записей в блоге: 2
03.07.2012, 18:35 3
Беглым взглядом увидел вот что:
C++
1
void main ()
должно быть
C++
1
int main ()
и
C++
1
std::cin >> "";
это вообще что? фактически это
C++
1
std::cin.operator >> (const char*);
а в С++ такого нет, ибо противоречит здравому смыслу
Цитата Сообщение от Helldrg Посмотреть сообщение
а в Borland все работало
лишний раз убеждаюсь, что Borland вреден
2
5480 / 4875 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2012, 05:35 4
Цитата Сообщение от Kastaneda Посмотреть сообщение
Беглым взглядом увидел вот что:Код C++
1 void main ()
Не знаю как у кого, но у меня, в VS 2010, с этим никаких проблем.


Цитата Сообщение от Helldrg Посмотреть сообщение
#include <ifstream>
Вот это почему-то не принимает. Соглашается на
C++
1
#include <fstream>
и это
C++
1
std::cin >> "";
бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream" (или приемлемое преобразование отсутствует)
1
19 / 19 / 6
Регистрация: 09.03.2012
Сообщений: 91
04.07.2012, 05:46 5
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
#include"stdafx.h"
#include <iostream>
#include <fstream>
class ClassA 
{
public:
    ClassA(char*,int,int,int);
private:
    char fl[100];
    int r;
    int qm;
    int qsm;
};
 
ClassA::ClassA(char *fl, int r, int qm, int qsm)
{
      strcpy(ClassA::fl, fl);
      ClassA::r = r;
      ClassA::qm = qm; 
      ClassA::qsm = qsm;                   
};
 
void main ()
{
 
    ClassA c("2",3,6,4);
    std::ofstream obj1("example.txt");
    obj1.write((char*)&c,sizeof(ClassA));
    obj1.close();
    
    ClassA c2("0",0,0,0);
    std::ifstream obj2("example.txt");
    obj2.read((char*)&c2,sizeof(ClassA));
    obj2.close();
char a;
    std::cin>>a;
}
Вот это успешно компилится, правда я все в один файл запихнул
1
5480 / 4875 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2012, 05:55 6
Снял вопрос.
1
28 / 57 / 6
Регистрация: 10.01.2011
Сообщений: 1,231
06.07.2012, 22:09  [ТС] 7
Спасибо большое!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.07.2012, 22:09

Ifstream указатель на файл
Можно ли как-нибудь работа с файлом через ifstream выцепить чистый указатель на файл? Необходимо...

ifstream не открывает файл
Файл input.txt лежит в папке с проектом, во всех остальных иде так работает, но в Qt почему-то нет....

Ifstream in() не находит файл
поместила файл в папку откуда запускаю программу ifstream in(&quot;dollar.txt&quot;); а компилятор...

Ifstream не открывается файл никак
пытаюсь открыть файл &quot;file&quot; ifstream'ом никак не получается. и полный путь писал, и в каталоге...


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

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

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