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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
viktorrrr
45 / 45 / 1
Регистрация: 11.02.2010
Сообщений: 375
#1

Чтение из файла, запись в файл - C++

05.07.2011, 20:39. Просмотров 1998. Ответов 9
Метки нет (Все метки)

Тут такая у меня проблема.
1) Не работает цикл в майне. Как его правильно организовать?
2) И, похоже, чтение из файла все-таки, неправильно организовано.
3) И оошшшень хотелось бы поиск в файле как-нить организовать


Кто может, помогите или подскажите, пожалуйста)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include<iostream>
#include<fstream>
#include<iomanip>
#include<stdlib.h>
 
 
using namespace std;
 
 
void Instruction(); //Инструкция
void Output(char *Fm,char *Nm, char *Nm_b); //форматирование вывода, Чтение из файла
void textFile();//Запись в файл
void Instruction() //Инструкция по работе с программой
{
    cout<<"Добро пожаловать на работу\n"<<
        "Нажмите любую клавишу, для начала работы"<<endl;
    cin.get();
    cout<<"Нажмите 1 чтобы записать новые поступившие книги(Фамилия,Имя, Отчество"<<endl;
    cout<<"Нажмите 2  для вывода имеющихся книг"<<endl;
    cout<<"Нажмите 3 для поиска книги по фамилии автора"<<endl;
}
void Output(char *Fm,char *Nm, char *Nm_b)
{
    ifstream File2("texot.txt");
    if(!File2){
        cerr<<"Fail ne mozet bitj otkrit";
        exit(1);
    }
    
    cout<<setiosflags(ios::left)<<setw(10)<<Fm<<setw(10)<<Nm<<setw(10)<<Nm_b;
    
}
 
void textFile(char *F,char *N, char *F_b)//Запись в файл
{
    ofstream File("texot.txt");
    if(!File){
        cerr<<"fail ne mozet bitj otkrit"<<endl;
        exit(1);
        
    }
 
    while(cin>>F>>N>>F_b){
        File<<F<<N<<F_b<<endl;
        cout<<endl;
    }
}
 
int main()
{
    setlocale(LC_ALL,"Russian");
    
    char F_m[20], N_m[20],F_b_m[20];
    char vibor;
    Instruction();
    cin>>vibor;
    while(vibor!='0'){
        
        switch(vibor){
        case '1':
    textFile( F_m, N_m,  F_b_m);
    break;
    case '2':
    Output(F_m, N_m,  F_b_m);
    break;
        default:
            cout<<"Неправильный симовол"<<endl;
            break;
    }
    }
 
        
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2011, 20:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение из файла, запись в файл (C++):

Запись в файл и чтение из файла - C++
Здравствуйте!!! Как правильно сделать в с++ запись в файл и чтение из файла?? Объясните пожалуйста с примерами??

Запись в файл, чтение из файла - C++
Каким образом можно реализовать чтение из файла только 1 строки,используя ifstream и fstream,если можно то темку про это из интернета,сам...

Чтение из файла/Запись в файл - C++
Приветствую всех! Понимаю что тема заезженная вдоль и поперек, но помощь мне нужна срочно! Мне нужно написать программу, которая...

Запись в файл и чтение из файла - C++
Всем привет. Кто может подсказать решение? Есть полученный заполненный массив. int A. Числа в нём от 0 до 17. Как его записать в файл...

Чтение из файла и запись в файл - C++
Доброго времени суток. Идея в чем: Пример входных данных из файла: 5 o 3 c 4 o 5 c 6 o 7

Чтение из файла и запись в файл - C++
всем привет! нужно написать программу, которая читает строку из файла. если слово содержит &quot;*&quot;, то его удалить, &quot;+&quot; - не менять, остальное...

9
OLLEGATOR
Linux-оид
116 / 65 / 3
Регистрация: 15.02.2011
Сообщений: 353
05.07.2011, 21:03 #2
после DEFAULT break убери
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void Output(char *Fm,char *Nm, char *Nm_b)
{
    ifstream f;
    f.open("texot.txt");
 
    char *s=new char [N];
 
    while(!f.eof()){
        f.getline(s,N);
        cout<<s<<"\n";
    }
 
    f.close();
    delete [] s;
        
}
а поиск какой...чего поиск..или он считать чтото будит?
1
viktorrrr
45 / 45 / 1
Регистрация: 11.02.2010
Сообщений: 375
05.07.2011, 21:06  [ТС] #3
Цитата Сообщение от OLLEGATOR Посмотреть сообщение
после DEFAULT break убери
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void Output(char *Fm,char *Nm, char *Nm_b)
{
    ifstream f;
    f.open("texot.txt");
 
    char *s=new char [N];
 
    while(!f.eof()){
        f.getline(s,N);
        cout<<s<<"\n";
    }
 
    f.close();
    delete [] s;
        
}
а поиск какой...чего поиск..или он считать чтото будит?

По фамилии должен производится поиск.
0
OLLEGATOR
Linux-оид
116 / 65 / 3
Регистрация: 15.02.2011
Сообщений: 353
05.07.2011, 21:08 #4
ну а если фамилия есть то что!? прога должна написать на экране да есть!?
0
viktorrrr
45 / 45 / 1
Регистрация: 11.02.2010
Сообщений: 375
05.07.2011, 21:11  [ТС] #5
Цитата Сообщение от OLLEGATOR Посмотреть сообщение
ну а если фамилия есть то что!? прога должна написать на экране да есть!?
Да.
И еще откуда появилась переменная N ,которая размерность массива указывает?
0
OLLEGATOR
Linux-оид
116 / 65 / 3
Регистрация: 15.02.2011
Сообщений: 353
05.07.2011, 21:17 #6
можешь поменять на цифру...вообще по задумке это буфер куда скачиваются символы ...поставь глобальную константу const int N=1024;

Добавлено через 2 минуты
что-бы выловить фамилию...напиши новую функцию которая будет получать искомую фамилию... она считывает текст и проверяет с помощью strcmp...есть ли нужная фамилия...если strcmp==0 то есть...
1
viktorrrr
45 / 45 / 1
Регистрация: 11.02.2010
Сообщений: 375
05.07.2011, 21:20  [ТС] #7
Че т ерунда получается. Если функцию заполнения файла могу запустить, то уже функцию чтения нет. Какой-то бесконечный цикл получается.
0
OLLEGATOR
Linux-оид
116 / 65 / 3
Регистрация: 15.02.2011
Сообщений: 353
05.07.2011, 21:31 #8
незабывай закрывать файл в функции....каждой...поработал и закрыл

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void textFile(char *F,char *N, char *F_b)//Запись в файл
{
        ofstream File("texot.txt");
        if(!File){
                cerr<<"fail ne mozet bitj otkrit"<<endl;
                exit(1);
                
        }
 
        while(cin>>F>>N>>F_b){
                File<<F<<N<<F_b<<endl;
                cout<<endl;
        }
 
       File.close();
}
1
viktorrrr
45 / 45 / 1
Регистрация: 11.02.2010
Сообщений: 375
05.07.2011, 21:39  [ТС] #9
Сделал, Но где-то сидит все равно ошибка. ПОнять не могу.(((
0
OLLEGATOR
Linux-оид
116 / 65 / 3
Регистрация: 15.02.2011
Сообщений: 353
05.07.2011, 21:49 #10
мой..совет..отдохни немнога с пол часика..потом всё получится)
0
05.07.2011, 21:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2011, 21:49
Привет! Вот еще темы с ответами:

Чтение из файла и запись в файл - C++
Создайте текстовый файл целых чисел (значения вводятся с клавиатуры). Проанализировав в программе созданный файл, создайте еще 2 файла: ...

Запись в файл, чтение из файла - C++
В общем, неделю назад мне помогли на этом форуме сделать программу. И все прекрасно работает на visual studio, но в универе у нас везде...

Запись в файл и чтение из файла указателей - C++
Всем доброго времени суток! У меня возникла проблема с чтением из файла. Я создаю объект ExampleObject1 своего класса ExampleClass. В...

Запись массива в файл и чтение из файла - C++
Программа массив генерирует все ок, а вот с записью массива и чтением его - у меня проблемы. Ругается на f и buf //main.cpp ...


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

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

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