Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
68 / 41 / 1
Регистрация: 14.05.2013
Сообщений: 383

Файловый ввод-вывод

16.07.2013, 16:13. Показов 1044. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прохожу тему файлового ввода-вывода, написал такой код:

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
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <string>
 
using namespace std;
 
int main()
{
 ifstream infile("in_file");
 ofstream outfile("out_file");
 if ( ! infile ) {
 cerr << "Îøèáêà îòêðûòèÿ âõîäíîãî ôàéëà.\n"
 return -1;
}
 if ( ! outfile ) {
 cerr << "Îøèáêà îòêðûòèÿ âûõîäíîãî ôàéëà.\n"
 return -2;
}
 
 string word;
 while ( infile >> word )
 outfile << word << ' ';
 system ("pause");
 return 0;
}
Выбивает ошибку:

C++
1
2
3
4
 D:\DEV\×èòàåò èç ôàéëà è ââîäèò â ôàéë\main.cpp In function `int main()': 
14 D:\DEV\×èòàåò èç ôàéëà è ââîäèò â ôàéë\main.cpp expected `;' before "return" 
18 D:\DEV\×èòàåò èç ôàéëà è ââîäèò â ôàéë\main.cpp expected `;' before "return" 
 D:\DEV\×èòàåò èç ôàéëà è ââîäèò â ôàéë\Makefile.win [Build Error]  [main.o] Error 1
Как я понял компилятор не хочет воспринимать return -1, return -2? Или как?
P.S. Фалы in_file, out_file я не создавал, думаю что они сами создадутся, или это не так?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.07.2013, 16:13
Ответы с готовыми решениями:

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

Поменять консольный ввод-вывод на файловый ввод-вывод
вот у меня калькулятор как мне сделать что б числа вводились из файла и результат записывался в новый файл ? // ОБРАТНАЯ...

Файловый ввод-вывод, ввод с клавиатуры и обработка массива структур
Добрый вечер)) У меня небольшой вопрос. Почему первые буквы (в названии книг) не выводит на экран? Само задание: О каждой книге ...

14
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
16.07.2013, 16:15
C++
1
cerr << "Ошибка открытия входного файла.\n"
Где точка с запятой?
1
68 / 41 / 1
Регистрация: 14.05.2013
Сообщений: 383
16.07.2013, 16:34  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
cerr << "Ошибка открытия входного файла.\n"
Где точка с запятой?
Точно, я как-то не заметил Спасибо!

Добавлено через 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
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <string>
 
using namespace std;
 
int main() {
cout << "Enter you login: " << endl;
char login[50];
cin >> login;
{
 ifstream infile("in_file.txt");
 ofstream outfile("out_file.txt");
 if ( ! infile ) {
 cerr << "Error opening the input file" << endl;
 return -1;
}
 if ( ! outfile ) {
 cerr << "Error opening output file" << endl;
 return -2;
}
}
 while ( infile.txt >> login )
 outfile.txt << login << ' ';
 cout << "Enter a file is successful!" << endl;
 system ("pause");
 return 0;
}
Вот ошибки:

C++
1
2
3
4
24 D:\DEV\Òåñò òèïà èãðà êàðî÷\main.cpp `infile' undeclared (first use this function) 
  (Each undeclared identifier is reported only once for each function it appears in.) 
25 D:\DEV\Òåñò òèïà èãðà êàðî÷\main.cpp `outfile' undeclared (first use this function) 
 D:\DEV\Òåñò òèïà èãðà êàðî÷\Makefile.win [Build Error]  [main.o] Error 1
Пробовал убирать в
C++
1
2
 while ( infile.txt >> login )
 outfile.txt << login << ' ';
названии файлов .txt но то же самое выходит)
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
16.07.2013, 16:58
C++
1
2
while ( infile >> login )
 outfile<< login << ' ';
0
68 / 41 / 1
Регистрация: 14.05.2013
Сообщений: 383
16.07.2013, 17:16  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
2
while ( infile >> login )
 outfile<< login << ' ';
Не работает, та же ошибка)

Добавлено через 5 минут
А если упростить программу до такого:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <string>
 
using namespace std;
 
int main() {
char login[50];
 cout << "Enter you login: " << endl;
 cin >> login;
 ifstream infile("login.txt");
 ofstream outfile("save.txt");
 while ( login >> login )
 save << login << ' ';
 system ("pause");
 return 0;
}
?

Можете сказать что тут не так? А то никак не могу понять в чём ошибка
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
16.07.2013, 17:17
12, 18 строчки(3 пост), что за скобки?
0
68 / 41 / 1
Регистрация: 14.05.2013
Сообщений: 383
16.07.2013, 17:20  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
12, 18 строчки(3 пост), что за скобки?
Ну я их уже убрал, давайте так, вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <string>
 
using namespace std;
 
int main() {
 string login;
 cout << "Enter you login: " << endl;
 cin >> login;
 ifstream infile("login.txt");
 ofstream outfile("save.txt");
 while ( login >> login )
 save << login << ' ';
 system ("pause");
 return 0;
}
Тут нет ничего лишнего Поможете исправить?

Ошибки:
C++
1
2
14 D:\DEV\Òåñò òèïà èãðà êàðî÷\main.cpp no match for 'operator>>' in 'login >> login' 
15 D:\DEV\Òåñò òèïà èãðà êàðî÷\main.cpp `save' undeclared (first use this function)
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
16.07.2013, 17:20
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
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <string>
 
using namespace std;
 
int main() 
{
    cout << "Enter you login: " << endl;
    char login[50];
    cin >> login;
 
    ifstream infile("in_file.txt");
    ofstream outfile("out_file.txt");
    if ( ! infile ) 
    {
        cerr << "Error opening the input file" << endl;
        return -1;
    }
 
    if ( ! outfile ) 
    {
        cerr << "Error opening output file" << endl;
        return -2;
    }
    
    while ( infile >> login )
        outfile << login << ' ';
    
    cout << "Enter a file is successful!" << endl;
     
    system ("pause");
    return 0;
}
0
68 / 41 / 1
Регистрация: 14.05.2013
Сообщений: 383
16.07.2013, 17:24  [ТС]
Хмм...Я пробовал такой же код, не сработало...Возможно я что-то не усмотрел)Ну это работает, спасибо огромное!

Добавлено через 1 минуту
Не понимаю, так то всё вроде бы работает, но в файлы ничего не записывается)
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
16.07.2013, 17:26
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <cstdlib>
#include <fstream>
#include <string>
 
using namespace std;
 
int main() 
{
    char login[50];
    cout << "Enter you login: " << endl;
    cin >> login;
    
    ifstream infile("login.txt");
    ofstream outfile("save.txt");
    
    while ( infile >> login )
        outfile << login << ' ';
    
    system ("pause");
    return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от Даниил1991 Посмотреть сообщение
Не понимаю, так то всё вроде бы работает, но в файлы ничего не записывается)
Файл, с которого читаете существует? Что хотите сделать? Что должно записаться?
0
68 / 41 / 1
Регистрация: 14.05.2013
Сообщений: 383
16.07.2013, 17:28  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <cstdlib>
#include <fstream>
#include <string>
 
using namespace std;
 
int main() 
{
    char login[50];
    cout << "Enter you login: " << endl;
    cin >> login;
    
    ifstream infile("login.txt");
    ofstream outfile("save.txt");
    
    while ( infile >> login )
        outfile << login << ' ';
    
    system ("pause");
    return 0;
}
Добавлено через 1 минуту

Файл, с которого читаете существует? Что хотите сделать?
Смотрите.Я только что скомпилировал ваш код (10 пост), но результат тот же.
Я создал в папке файл login.txt сам, но когда я в программе ввёл логин то ничего не произошло, просто создался файл save.При этом в файле логин тоже ничего не поменялось
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
16.07.2013, 17:33
Цитата Сообщение от Даниил1991 Посмотреть сообщение
Я создал в папке файл login.txt сам,
В нём что?

Добавлено через 27 секунд
Цитата Сообщение от Даниил1991 Посмотреть сообщение
но когда я в программе ввёл логин то ничего не произошло
А что должно произойти? Повторяю вопрос: что хотите сделать?
0
68 / 41 / 1
Регистрация: 14.05.2013
Сообщений: 383
16.07.2013, 17:34  [ТС]
Ну вообще запланировано так:
Человек вводит логин (в игре допустим это пригодится)
Его логин записывается в файл save
И в следующий раз когда он зайдёт в игру и авторизируется со своим логином то игра продолжится с тем же счётом и т.д.
P.S. В файле login пусто, я ничего не добавлял
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
16.07.2013, 17:37
Цитата Сообщение от Даниил1991 Посмотреть сообщение
Человек вводит логин (в игре допустим это пригодится)
Его логин записывается в файл save
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <cstdlib>
#include <fstream>
#include <string>
 
using namespace std;
 
int main() 
{
    char login[50];
    cout << "Enter you login: " << endl;
    cin >> login;
    
    //ifstream infile("login.txt");
    ofstream outfile("save.txt");
    
    //while ( infile >> login )
        outfile << login << ' ';
    
    system ("pause");
    return 0;
}
1
68 / 41 / 1
Регистрация: 14.05.2013
Сообщений: 383
16.07.2013, 17:40  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <cstdlib>
#include <fstream>
#include <string>
 
using namespace std;
 
int main() 
{
    char login[50];
    cout << "Enter you login: " << endl;
    cin >> login;
    
    //ifstream infile("login.txt");
    ofstream outfile("save.txt");
    
    //while ( infile >> login )
        outfile << login << ' ';
    
    system ("pause");
    return 0;
}
Вот это правильно, так как я и хотел)
Почему это я захотел усложнить всё, ведь действительно, можно было не записывать из файла в файл Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.07.2013, 17:40
Помогаю со студенческими работами здесь

Реализовать вывод массива объектов типа Student на консоль (файловый ввод/вывод)
Как сделать чтобы список студентов выводился на экран в конце? #include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; ...

Поиск в массиве структур по заданному полю и вывод в алфавитном порядке (файловый ввод/вывод)
Помогите с функцией void runFile() что бы с файла брал и выводил в алфавитном порядке список товаров, хранящихся больше месяца, стоимость...

Вывод суммы в файл (файловый ввод/вывод)
Добрый день! Я пытался написать программу, которая должна вводить данные из файла №1, потом вычислять их сумму и полученное значение...

Файловый ввод / вывод
где я ошибся? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int...

Файловый ввод и вывод на С++
Написать программу, создающую файл 1.txt и записывающую в него информацию, вводимую с клавиатуры пользователем. Затем проверить какие...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru