Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Helldrg
26 / 55 / 1
Регистрация: 10.01.2011
Сообщений: 1,108
#1

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

03.07.2012, 14:24. Просмотров 636. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2012, 14:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка записи в файл с использованием ifstream (C++):

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

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

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

Ifstream ошибка - C++
int main(int argc, char* argv) { setlocale(LC_ALL,&quot;Russian&quot;); // корректное отображение Кириллицы char buff; // буфер...

Ifstream не открывается файл никак - C++
пытаюсь открыть файл &quot;file&quot; ifstream'ом никак не получается. и полный путь писал, и в каталоге создавал. is_open() кричит, что файл не...

Чтение и запись в файл. ifstream - C++
как записать в файл и прочитать из него данные? class.h #ifndef CLASS_H #define CLASS_H // класс &quot;Структура МИИТа&quot; class...

6
ValeryLaptev
Эксперт С++
1042 / 821 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
03.07.2012, 15:04 #2
Какая ошибка ?
1
Kastaneda
Jesus loves me
Эксперт С++
4689 / 2893 / 236
Регистрация: 12.12.2009
Сообщений: 7,355
Записей в блоге: 2
Завершенные тесты: 1
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
alsav22
5426 / 4821 / 442
Регистрация: 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
[NovicheK]
19 / 19 / 2
Регистрация: 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
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2012, 05:55 #6
Снял вопрос.
1
Helldrg
26 / 55 / 1
Регистрация: 10.01.2011
Сообщений: 1,108
06.07.2012, 22:09  [ТС] #7
Спасибо большое!
0
06.07.2012, 22:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2012, 22:09
Привет! Вот еще темы с ответами:

ifstream читает файл со второй строки - C++
Добрый день, читаю файл через fstream и записываю его, запись идет только со второй строки, не могу понять почему #include &lt;iostream&gt; ...

Чтением и запись в файл, ifstream/ofstream - C++
Здравствуйте, уважаемые участники форума, есть такое задание, возвести в квадрат каждый элемент массива, стоящий на четном месте и в куб...

Как открыть файл в потоке ifstream? - C++
если имя файла храниться в переменной String s;

Как повторно открыть файл ifstream - C++
Есть функция int readFile(char* outAdres){ int j(0); fstream inFile; for(QVector&lt;string&gt;::iterator it = files.begin()...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru