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

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

Войти
Регистрация
Восстановить пароль
 
 
молодой_горячий
1 / 1 / 0
Регистрация: 26.04.2011
Сообщений: 42
#1

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

17.03.2013, 20:45. Просмотров 529. Ответов 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++):

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

Файл: Форматированный вывод текста в файл - C++
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;io.h&gt; int main() { double x1, x2, y1, y2, l,si,co; int ku, kuz, kuf, kel; ...

[C++] Вывод в файл. - C++
В доброго времени суток! Дело такое, нужно что бы в файл выводилось такая информация: sound_1 sound_2 sound_3 ... sound_n

Вывод в файл - C++
Есть довольно большая вычислительная программа. В ней вычисляется в том числе трехмерный массив. Надо сделать так, чтобы результаты...

Вывод в файл - C++
Здравствуйте уважаемые программисты, будьте добры, уделите пару минут своего времени на этот пост. Уже неделю парюсь с программой, в общем,...

Вывод в файл - C++
Ребят, как сделать что бы при выводе в файл черезcin&gt;&gt; числа выводились нормально, а не так: 1,725454e+010?????

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

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

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

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

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

]
0
alsav22
5428 / 4823 / 442
Регистрация: 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 / 15
Регистрация: 05.02.2010
Сообщений: 3,262
Завершенные тесты: 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 / 0
Регистрация: 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
3050 / 2371 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
18.03.2013, 00:10 #13
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
2
3
4
5
while (!File1.eof())
{
   File1 >> t;
   cout << t << ' ';
}
Лишняя итерация цикла обеспечена.
1
alsav22
5428 / 4823 / 442
Регистрация: 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
3050 / 2371 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
18.03.2013, 00:32 #15
Вот так лучше
0
18.03.2013, 00:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2013, 00:32
Привет! Вот еще темы с ответами:

Вывод в файл - C++
Парни, подскажите как в С++ сделать вывод в цикле каждый раз в новый файл. Что-то вроде этого: for(i=1;i&lt;=N-1;i++){ ofstream...

Вывод из файл - C++
Ребят помогите написать программу, которая читает данные с файла в двоичном режиме и выводит их на экран.У меня есть программа, которая...

Вывод в файл - C++
Программа сгенерировала 20 чисел от 1 до 20 в случайном порядке. Необходимо упорядочить по возрастанию и вывести на экран в первоначальном...

Вывод в файл - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;string&gt; #include &lt;fstream&gt; double f(double x, double y)...


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

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

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