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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.65
alex2693
Сообщений: n/a
#1

Проблемы при создании *.txt файла консолем - C++

12.06.2009, 23:15. Просмотров 3305. Ответов 45
Метки нет (Все метки)

у меня код
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 "stdafx.h"
#include <iostream>
#include <fstream>
#include "locale.h"
#include "windows.h"
using namespace std;
 
void main(){
setlocale( LC_ALL,"Russian.1572" );
SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
 
 
        char str[128];
        char a[512];
 
char fname[128];
 
cout << "Введите адрес и имя файла: ";
cin >> fname;
 
 
        cout << "Ввести текст\n";
        cin >> a;
        ifstream in;
       
 
 
        if (!in.fail()){//Если открыли
 
 
            
            
            
            
        ofstream out(fname);
               
                while(!in.eof()){
                        out << a;
   in >> str;
 
                }
       
        }
}
этот код должен создать txt файл и ввести туда текст который сам я напишу.Но когда я ввожу скажем "Привет Мир", в txt файле только первое слово записывается...то есть после пробела ничего не записывает....буду благодарен тому кто исправит это
Пользователь получил красную карточку за это сообщение.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2009, 23:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проблемы при создании *.txt файла консолем (C++):

Проблемы при создании и построении проекта Microsoft Visual Studio 2008 Ошибки! - C++
Проблемы при создании и построении проекта Microsoft Visual Studio 2008. Ошибки!!!

В папке К2 создайте файл t3.txt, в который перепишите вначале текст из файла t1.txt, а затем из t2.txt - C++
Программным путем: 1. В папке С:\temp создайте папки К1 и К2. 2. В папке К1: a) создайте файл t1.txt, в который запишите следующий...

Ошибка при создании exe-файла - C++
В Micrisoft visual studio 6.0 при линковке проекта на С++ выходит одна ошибка: LINK : fatal error LNK1104: cannot open file...

Ошибка при создании заголовочного файла - C++
Добрый день. Недавно решил создать свой заголовочный файл, однако при компилятор выдает мне ошибку undefined symbol _main in module c0.ASM...

ofstream / ошибка при создании файла - C++
ofstream f( L&quot;C:\\Users\\Джон Грегорович\\Documents\\RAD Studio\\Projects\\.\\Win32\\Debug\\BackUp\\Wstud.txt&quot;); создает файл, но за...

OpenCv 2 4 7 Ошибка при создании файла vec - C++
Что обозначает эта ошибка и как её исправить ?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
FunDuck
688 / 379 / 4
Регистрация: 22.01.2009
Сообщений: 1,135
14.06.2009, 11:19 #16
Цитата Сообщение от alex2693 Посмотреть сообщение
а как могу исправить это?
Покажи весь код который получился.
0
alex2693
Сообщений: n/a
14.06.2009, 12:27 #17
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include "locale.h"
#include "windows.h"
using namespace std;

int main(){
//Объявления
char fname[128], str[512];
//ввод русс языка
setlocale( LC_ALL,"Russian.1572" );
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
//адрес
cout << "Введите адрес и имя файла: ";
cin >> fname;
//текст
cout << "Ввести текст\n";
cin >> str;
cin.getline(str, 512);
ofstream out(fname);
//услов оператор
if (!out.fail()){//Если открыли
out << str;
}
return 0;
}

вот......
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
14.06.2009, 12:33 #18
Код
cin >> str;
Вот этот cin все и портит.
1
alex2693
Сообщений: n/a
14.06.2009, 12:37 #19
Цитата Сообщение от Gravity Посмотреть сообщение
Код
cin >> str;
Вот этот cin все и портит.
но без этого не дается возможность писать...сразу после того как я ввожу адресс окно закрывается..типо свое дело сделал....

Добавлено через 2 минуты 4 секунды
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include "locale.h"
#include "windows.h"
using namespace std;

int main(){
//Объявления
char fname[128], str[512];
//ввод русс языка
setlocale( LC_ALL,"Russian.1572" );
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
//адрес
cout << "Введите адрес и имя файла: ";
cin >> fname;
//текст
cout << "Ввести текст\n";

cin.getline(str, 512);
ofstream out(fname);
//услов оператор
if (!out.fail()){//Если открыли
out << str;
}
Sleep(50000);
return 0;
}


ты попробуй этой компиляцию сделать....
я написал вконце sleep чтобы окно не закрылсь...делаю кампиляцию ввожу адресс снизу пишет вводите текст и не дается возможность писать...
CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.06.2009, 12:39 #20
Для того чтобы приостановить выполнение программы (для того чтобы она сразу не закрылась) вместо строки:
Цитата Сообщение от alex2693 Посмотреть сообщение
C++
1
Sleep(50000);
Напиши:
C++
1
system("pause");
0
alex2693
Сообщений: n/a
14.06.2009, 12:44 #21
и вообще почему рядом с чарами пишется например [512]??

Добавлено через 1 минуту 46 секунд
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Для того чтобы приостановить выполнение программы (для того чтобы она сразу не закрылась) вместо строки:

Напиши:
C++
1
system("pause");
а какой класс?
а разница в чем?только в том что слееп не бесконечный?

Добавлено через 53 секунды
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include "locale.h"
#include "windows.h"
using namespace std;

int main(){
//Объявления
char fname[128], str[512];
//ввод русс языка
setlocale( LC_ALL,"Russian.1572" );
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
//адрес
cout << "Введите адрес и имя файла: ";
cin >> fname;
//текст
cout << "Ввести текст\n";

cin.getline(str, 512);
ofstream out(fname);
//услов оператор
if (!out.fail()){//Если открыли
out << str;
}
system("pause");
return 0;
}



И ЭТО ПОПРОБУЙ
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
14.06.2009, 12:46 #22
Цитата Сообщение от alex2693 Посмотреть сообщение
но без этого не дается возможность писать...сразу после того как я ввожу адресс окно закрывается..типо свое дело сделал....
После
Код
cout << "Ввести текст\n";
поставь
Код
cin.get();
1
alex2693
Сообщений: n/a
14.06.2009, 12:49 #23
Цитата Сообщение от Gravity Посмотреть сообщение
После
Код
cout << "Ввести текст\n";
поставь
Код
cin.get();
СПАСИБО БРАТОК!!!!!!!!!!ТЫ ПРОФЕССИОНАЛ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.06.2009, 13:24 #24
Цитата Сообщение от alex2693 Посмотреть сообщение
а какой класс?
а разница в чем?только в том что слееп не бесконечный?
Это стандартная функция из RTL позволяющая выполнить команду в командной строке. Команда "pause" приостанавливает выполнение программы до нажатия пользователем любой клавиши выводя сообщение но консоль "Для продолжения нажмите любую клавишу...". Т.е. пользователь сам когда ему нужно нажмет любую клавишу и приложение продолжит выполнение (в твоем случае закончит).
Очистку экрана также можно сделать через system:
C++
1
system("cls");
А Sleep'ом ты просто приостановишь выполнение на время, которое задаешь ТЫ, а ты уверен, что ПОЛЬЗОВАТЕЛЮ будет достаточно этого времени? Или наоборот? Да и к тому же программа при использовании Sleep выглядит подвисшей.
1
alex2693
Сообщений: n/a
14.06.2009, 21:51 #25
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Очистку экрана также можно сделать через system:
C++
1
system("cls");
Спасибо огромное!!это мне очень нужно было!я думал что через return
а это к какому инклюду относится?
FunDuck
688 / 379 / 4
Регистрация: 22.01.2009
Сообщений: 1,135
14.06.2009, 21:59 #26
iostream вроде
1
alex2693
Сообщений: n/a
14.06.2009, 22:00 #27
ладно...а скажем в консоли я хочу писать с новой строки нажав энтер...скажем так
привет мир
hello world

как мне это вообще можно делать?...
ISergey
Maniac
Эксперт С++
1374 / 885 / 52
Регистрация: 02.01.2009
Сообщений: 2,658
Записей в блоге: 1
14.06.2009, 22:03 #28
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int main ( )
{
    cout << "Hello";
    cin.get();
    cout << "Forum\n";
    system("pause");
    return 0;
}
1
CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.06.2009, 22:04 #29
Цитата Сообщение от alex2693 Посмотреть сообщение
а это к какому инклюду относится?
stdlib.h
1
alex2693
Сообщений: n/a
14.06.2009, 22:19 #30
Цитата Сообщение от ISergey Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int main ( )
{
    cout << "Hello";
    cin.get();
    cout << "Forum\n";
    system("pause");
    return 0;
}
да нет...не это....когда открывается консоль я должен ввести текст....я хочу оттуда перенести на новую строчку....с консоля
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2009, 22:19
Привет! Вот еще темы с ответами:

Проблемы при открытии файла - C++
Значит программа работает но при запуски идут только одни нули(Может быть я неправильно подключел текстовый документ? int main() { ...

Использование переменной в качестве аргумента при создании файла через ofstream - C++
Рассмотрите пожалуйста следующий код, он работает: /*! Тут насколько я понимаю, мы разбираемся с именем создаваемого\открываемого файла ...

При создании файла заголовка в Code::Blocks вставляются какие-то команды препроцессору. - C++
Вот что появляется при создании файла rectangle.hpp: #ifndef RECTANGLE_HPP_INCLUDED #define RECTANGLE_HPP_INCLUDED //Здесь...

Проблемы с кодировкой при подключении текстового файла - C++
Проблема вот в чем...В файле question.txt лежит вопрос, написанный по русски, но когда в консоле я вывожу содержимое &quot;question.txt&quot; на...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.06.2009, 22:19
Ответ Создать тему
Опции темы

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