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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ функция вычисляющяя степень числа по основанию и показателю степени http://www.cyberforum.ru/cpp-beginners/thread784878.html
Реализовать функцию, вычисляющую степень числа по основанию и показателю степени . функции должны быть сделаны рекурсивно
C++ Помощь со структурой "Государство" Нужна помощь. Мне нужно что бы под пунктом 4 в меню выдавались на экран англоязычные страны. Структура Структура "Государство": - название; - государственный язык; - денежная единица; - курс... http://www.cyberforum.ru/cpp-beginners/thread784877.html
C++ Как правильно объявить константы для всего проекта, который состоит из нескольких файлов
какой-нибудь Variables.h в котором будет что-то типа: #define A 50 #define B 40 или const int A 50
Как удалять элемент из строки в c++? C++
Как удалять элемент из строки в c++?
C++ Замена одного обратного слеша на 2 в строке текста (string) http://www.cyberforum.ru/cpp-beginners/thread784855.html
Привет всем. Есть такое задание - заменить один слеш на 2 ) Например: C:\Program Files\Common Files\Adobe AIR\Versions\1.0 Хочу, чтобы было так: C:\\Program Files\\Common Files\\Adobe...
C++ Переведите пожалуйста прогамму на С++ program ffair; var x,a,b:real; function Sign(x:real):integer; begin if a+b<0 then x:=-1 else if a+b=0 then x:=0 else подробнее

Показать сообщение отдельно
Noobass
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 100

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

12.02.2013, 19:40. Просмотров 211. Ответов 0
Метки (Все метки)

Парни, у меня задача написать программу, которая работает через командную строку. ПРога читает поток ввода, и полученные символы записывает в файл, и останавливается тогда, когда в потоке встречается "#".
Вот код:
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
#include <iostream>
using namespace std;
#include <fstream>
#include <cstdlib>
int main(int argc, char * argv[])
{
    if(argc==1)
    {
        cerr<<"Usage: "<<argv[0]<<" filename[s].\n";
        exit(0);
    }
    ofstream fout;
    char ch;
    fout.open(argv[1]);
    if(!fout.is_open())
    {
        cerr<<"ERROR!\a\a\a\n";
        exit(1);
    }
    cout<<"Enter a symbols (or # to quit): ";
    while(cin.get()!='#')
    {
        cin.get(ch);
        if(ch!='#')
            fout<<ch;
    }
    fout.close();
    system("pause");
    return 0;
}
Дело в том, что прога ничего не записывает, а почему - я никак не могу понять . Помогите, пожалуйста, разобраться

Добавлено через 17 минут
Вот, только что исправлял, что получилось
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>
using namespace std;
#include <fstream>
#include <cstdlib>
int main(int argc, char * argv[])
{
    if(argc==1)
    {
        cerr<<"Usage: "<<argv[0]<<" filename[s].\n";
        exit(0);
    }
    ofstream fout(argv[1],ios::out|ios::app);
    char ch;
    if(!fout.is_open())
    {
        cerr<<"ERROR!\a\a\a\n";
        exit(1);
    }
    cout<<"Enter a symbols (or # to quit): ";
    while(cin.get()!='#')
    {
        cin.get(ch);
        if(ch!='#')
            fout<<ch;
    }
    fout.close();
    system("pause");
    return 0;
}
Теперь прога записывает ввод, но некорректно (символы некоторые "глотает"). И еще одно - прога почему-то создает файл, вместо того, чтобы записать в существующий. Как быть ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru