Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
молодой_горячий
1 / 1 / 3
Регистрация: 26.04.2011
Сообщений: 42
#1

Вывод в файл - C++

17.03.2013, 20:45. Просмотров 573. Ответов 15
Метки нет (Все метки)

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 <fstream.h>
# include <conio.h>
# include <process.h>
void main()
{
clrscr();
ifstream File1("text1.txt");
   while (!File1) {cout<<"Error! File does not exist..."; exit(1);}
 char *t=new char [30];
   while (!File1.eof())
   {
    File1>>t;
    cout<<t<<"\n";
   }
File1.close();
ifstream file2("text2.txt");
 
int k=strlen(t);
   while (k>0)
   {
    File2<<t; // просто хочу вывести данные с массива в файл
    cout<<t<<"\n";
    k--;
   }
delete []t;
File2.close();
 
getch();
}
Ошибка - illegal structure operation. Будьте добры - поясните ошибку. Borland c++ 3.1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2013, 20:45
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывод в файл (C++):

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

Файл: Форматированный вывод текста в файл
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;io.h&gt; int main() { double...

Вывод в файл
Пытаюсь сделать что-то полезное в жизни:scratch: #include &lt;iostream&gt;...

Вывод в файл
Добрый вечер! Необходимо считать из файла строки и вывести в другой файл...

Вывод в файл
подскажите пожалуйста, почему у меня через функцию не хочет в файл выводить?...

Вывод в файл
Здравствуйте уважаемые программисты, будьте добры, уделите пару минут своего...

15
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
17.03.2013, 20:48 #2
C++
1
ofstream File2("text2.txt");
0
m1Rr0r
247 / 230 / 45
Регистрация: 05.02.2010
Сообщений: 3,283
Завершенные тесты: 2
17.03.2013, 20:49 #3
C++
1
File2<<t[k];
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
17.03.2013, 20:50 #4
И потом, у вас путаница с тем, что читаете/пишите - строки или символы.
1
молодой_горячий
1 / 1 / 3
Регистрация: 26.04.2011
Сообщений: 42
17.03.2013, 20:53  [ТС] #5
Цитата Сообщение от alsav22 Посмотреть сообщение
И потом, у вас путаница с тем, что читаете/пишите - строки или символы.
Строки
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
17.03.2013, 20:56 #6
Вернее, слова... У вас массив char под одно слово.
0
молодой_горячий
1 / 1 / 3
Регистрация: 26.04.2011
Сообщений: 42
17.03.2013, 21:05  [ТС] #7
Цитата Сообщение от alsav22 Посмотреть сообщение
Вернее, слова... У вас массив char под одно слово.
Я читаю слова без пробелов, получается как одно слово

Добавлено через 6 минут
вместо ifstream использовал ofstream
- я так понимаю ofstream не создает *.txt документ(в будущем мне это нужно)
- не выводится массив файл2
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
17.03.2013, 21:09 #8
Цитата Сообщение от молодой_горячий Посмотреть сообщение
Я читаю слова без пробелов, получается как одно слово
Куда читаете? Массив не слов, а символов. Запишется одно последнее слово из файла.

Добавлено через 1 минуту
Цитата Сообщение от молодой_горячий Посмотреть сообщение
вместо ifstream использовал ofstream
- я так понимаю ofstream не создает *.txt документ(в будущем мне это нужно)
Читайте про потоки чтения/записи. Всё наоборот: ifstream не создаёт, ofstream создаёт (если нет).
0
молодой_горячий
1 / 1 / 3
Регистрация: 26.04.2011
Сообщений: 42
17.03.2013, 21:12  [ТС] #9
Цитата Сообщение от alsav22 Посмотреть сообщение
Куда читаете? Массив не слов, а символов. Запишется одно последнее слово из файла.

Добавлено через 1 минуту

Читайте про потоки чтения/записи. Всё наоборот: ifstream не создаёт, ofstream создаёт (если нет).
я не могу работать с типом string, поэтому и взял масив char. Я пробую вывести все что есть в файле1 в файл2, а потом разбираться с пробелами

]
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
17.03.2013, 21:30 #10
Цитата Сообщение от молодой_горячий Посмотреть сообщение
Я пробую вывести все что есть в файле1 в файл2, а потом разбираться с пробелами
Тогда так:
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
#include <fstream.>
#include <conio.h>
#include <process.h>
#include <iostream>
using namespace std;
 
int main()
{
//clrscr();
ifstream File1("text1.txt");
if (!File1) cout << "Error! text1.txt does not exist..." << endl;
else
{
    ofstream File2("text2.txt");
    
    char *t = new char [30];
    
    while (!File1.eof())
    {
        File1 >> t;
        cout << t << ' ';
        File2 << t << ' ';
    }
    cout << endl;
    
    File1.close();
    File2.close();
    
    File1.open("text2.txt");
    if (!File1) cout << "Error! text2.txt does not exist..." << endl;
    else
    {
        while (!File1.eof())
        {
            File1 >> t;
            cout << t << ' ';
            
        }
        cout << endl;
    }
    delete [] t;
}
 
getch();
}
0
m1Rr0r
247 / 230 / 45
Регистрация: 05.02.2010
Сообщений: 3,283
Завершенные тесты: 2
17.03.2013, 21:35 #11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()  {
    ifstream File1("text1.txt", ios::in | ios::_Nocreate);
    ofstream File2("text2.txt", ios::out);
    if(!File1)  {
        cout<<"Error! Open file1...";exit(1);
    }
    if(!File2)  {
        cout<<"Error! Open file2...";exit(1);
    }
    while(!File1.eof())
        File2.put(File1.get());
 
    File1.close();
    File2.close();
    return 0;
}
0
молодой_горячий
1 / 1 / 3
Регистрация: 26.04.2011
Сообщений: 42
17.03.2013, 22:34  [ТС] #12
Цитата Сообщение от alsav22 Посмотреть сообщение
Тогда так:
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
#include <fstream.>
#include <conio.h>
#include <process.h>
#include <iostream>
using namespace std;
 
int main()
{
//clrscr();
ifstream File1("text1.txt");
if (!File1) cout << "Error! text1.txt does not exist..." << endl;
else
{
    ofstream File2("text2.txt");
    
    char *t = new char [30];
    
    while (!File1.eof())
    {
        File1 >> t;
        cout << t << ' ';
        File2 << t << ' ';
    }
    cout << endl;
    
    File1.close();
    File2.close();
    
    File1.open("text2.txt");
    if (!File1) cout << "Error! text2.txt does not exist..." << endl;
    else
    {
        while (!File1.eof())
        {
            File1 >> t;
            cout << t << ' ';
            
        }
        cout << endl;
    }
    delete [] t;
}
 
getch();
}
Благодарю, очень помогли. Удачи
0
kazak
3057 / 2378 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
18.03.2013, 00:10 #13
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
2
3
4
5
while (!File1.eof())
{
   File1 >> t;
   cout << t << ' ';
}
Лишняя итерация цикла обеспечена.
1
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
18.03.2013, 00:31 #14
Цитата Сообщение от kazak Посмотреть сообщение
Лишняя итерация цикла обеспечена.
Да, пробел в конце мешает:
C++
1
2
3
4
5
6
while (true)
{
     File1 >> t;
     if (File1.eof()) break;
     cout << t << ' ';
}
0
kazak
3057 / 2378 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
18.03.2013, 00:32 #15
Вот так лучше
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
18.03.2013, 00:39 #16
Цитата Сообщение от kazak Посмотреть сообщение
Вот так лучше
Лучше тут, всё-таки, посимвольно читать, как m1Rr0r предложил: без всяких массивов char и без лишнего пробела в конце файла.
0
18.03.2013, 00:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2013, 00:39
Привет! Вот еще темы с решениями:

вывод в файл
Всем добрый день! Задание таково: Исходный массив, промежуточные данные и...

Вывод в файл
Парни, подскажите как в С++ сделать вывод в цикле каждый раз в новый файл. ...

Вывод в файл
Ребят, как сделать что бы при выводе в файл черезcin&gt;&gt; числа выводились...

вывод в файл
Хочу осуществить вывод в файл с помощью функции. void...


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

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

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