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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.58
velodro
72 / 1 / 1
Регистрация: 28.11.2009
Сообщений: 78
#1

чтением из файла.... - C++

07.01.2010, 21:21. Просмотров 1566. Ответов 7
Метки нет (Все метки)

у меня есть два класса...
один (базовый) читает строку из файла и присваивает её значение переменной этого типа
второй (производный) создаёт массив таких переменных базового типа, заполняя его строчками из файла
но файл почему-то не находит!
почему?
вот прога:

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
#include <iostream.h>
#include <string.h>
#include <fstream.h>
class base {
    char word[9];
public:
    char slovo[9];
    base();
};
base::base() {
    for (int i=0; i<9; i++) {
        word[i]=slovo[i];
    }
    cout<<"vvedite slovo"<<endl;
    ifstream fin("input.txt", ios::in|ios::nocreate);
    if (!fin) {
        cout<<"fail input.txt not found"<<endl;
    }
    fin>>word;
}
class slovar {
public:
    slovar();
    base a[4],e[4];
 
};
slovar::slovar(){
    ifstream fin("input.txt", ios::in|ios::nocreate);
    if (!fin) {
        cout<<"fail input.txt not found"<<endl;
    }
    for (int i=0; i<4; i++) {
        fin>>a[i].slovo;
        cout<<a[i].slovo<<endl;
    }
}
int main() {
    base a1,e1;
    slovar a2,e2;
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2010, 21:21     чтением из файла....
Посмотрите здесь:

Ошибка с чтением файла - C++
Привет, у меня тут проблема. Я сделал программу, которая открывает файл и выводит содержимое на экран, но если я вывожу содержимое второй...

Проблема с чтением из файла - C++
Подскажите пожалуйста в чем ошибка? Чтения не происходит. Нули в массиве как были, так и остаются. первый раз работаю в Visual, может быть...

Ошибка с чтением файла - C++
Добрый вечер, ниже реализована программа по обработке файла данных &quot; Репертуар кинотеатров&quot; в котором указаны название кинотеатра и...

Проблема с чтением файла - C++
При открытии файла функцией fopen и выводе на консоль отображается только первая строчка. Я так понял что надо открыть файл как бинарный....

Проблемы с чтением файла на c++ - C++
Задача: Сформировать массив данных с помощью структуры. Предметная область – данные о студентах имеющих публикации (номер по порядку,...

Проблема с чтением из файла! - C++
Проблема такая: у меня есть текстовый файл, в котором на каждой новой строке написано число. Я хочу каждое из этих чисел присвоить массиву...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.01.2010, 22:03     чтением из файла.... #2
C++
1
ifstream fin("input.txt", ios::in|ios::nocreate);
C++
1
ifstream fin("input.txt");
ifstream уже подразумевает

Добавлено через 57 секунд
C++
1
using namespace std;
не видать
velodro
72 / 1 / 1
Регистрация: 28.11.2009
Сообщений: 78
07.01.2010, 22:42  [ТС]     чтением из файла.... #3
using namespace std;-не пашет
на счёт

ifstream fin("input.txt", ios::in|ios::nocreate);

ifstream fin("input.txt");

не понял...
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.01.2010, 22:55     чтением из файла.... #4
C++
1
#include <fstream.h>
после неё using namespace std;

C++
1
ifstream fin("input.txt");
ifstream уже открывает файл на ios::in, а nocreate для файла, открываемого для чтения, бессмысленен
velodro
72 / 1 / 1
Регистрация: 28.11.2009
Сообщений: 78
07.01.2010, 23:34  [ТС]     чтением из файла.... #5
ifstream fin("input.txt");-это не меняет ничего...
хотя я с Вами согласен...
а вот using namespace std;
выдаёт ошибку
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
08.01.2010, 05:42     чтением из файла.... #6
input.txt должен лежать в той же директории, где программа

Добавлено через 4 минуты
Цитата Сообщение от velodro
а вот using namespace std;
выдаёт ошибку
тогда закомментируй строчку, без неё cout<<"vvedite slovo"<<endl; не должно работать, потому что cout находится в этом простанстве имён и endl тоже
velodro
72 / 1 / 1
Регистрация: 28.11.2009
Сообщений: 78
08.01.2010, 23:42  [ТС]     чтением из файла.... #7
в моём варианте если дописать путь до файла, то файл можно будет держать и в другой директории....

без using namespace std; и cout<<"vvedite slovo"<<endl; работает... спасибо огромное но у меня возникает вопрос (чисто в познавательных целях) а как этого избежать... (чтобы можно было
cout<<"vvedite slovo"<<endl; использовать)
и почему не работало?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2010, 00:22     чтением из файла....
Еще ссылки по теме:

Матрица с чтением функции из файла - C++
Составил тут программу по лабораторной: #include&lt;fstream&gt; #include&lt;iostream&gt; #include&lt;iomanip&gt; #include&lt;math.h&gt; using namespace...

Работа со структурами и чтением из файла - C++
На основе сводной экзаменационной ведомости, включающей фамилии студентов и оценки по дисциплинам (математика, физика, программирование,...

Вынос мозга с чтением файла - C++
Здравствуйте. К моему сожалению облазив Яндекс и Гугл, я не смог найти решения проблемы и поэтому вынужден просить помощи у вас. ...

Не могу разобраться с чтением из файла - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;time.h&gt; #include &lt;fstream&gt; int...


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

Или воспользуйтесь поиском по форуму:
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
09.01.2010, 00:22     чтением из файла.... #8
если там каким-то образом нельзя юзать using namespace
можно попробовать std::cout << "vvedite slovo" << std::endl;

а вообще #include <iostream.h> говорит об одном из таких компиляторов, где может быть что-нибудь не так
современные обычно юзают #include <iostream> и в них отсутствие using namespace без явного указания пространства для cout и endl выдаст ошибку

чтобы проверить как там в действительности
C++
1
2
3
4
5
6
7
8
9
#include <iostream.h>
 
using namespace std;
 
int main(void)
{
    cout << "test" << endl;
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
#include <iostream.h>
 
//using namespace std;
 
int main(void)
{
    std::cout << "test" << std::endl;
    return 0;
}
на нормальном компиляторе должны работать обе программы, если #include <iostream.h> заменить на #include <iostream>
Yandex
Объявления
09.01.2010, 00:22     чтением из файла....
Ответ Создать тему
Опции темы

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