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

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

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

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

12.06.2009, 23:15. Просмотров 3227. Ответов 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++ Ошибка при создании exe-файла
C++ Как заставить аудиофайл петь только консолем
C++ При создании файла заголовка в Code::Blocks вставляются какие-то команды препроцессору.
Проблемы при создании и построении проекта Microsoft Visual Studio 2008 Ошибки! C++
Сформировать из файла f4.txt файл g.txt C++
C++ Ошибка при создании заголовочного файла
C++ Проблемы с кодировкой при подключении текстового файла
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex2693
Сообщений: n/a
14.06.2009, 12:44     Проблемы при создании *.txt файла консолем #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
558 / 552 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
14.06.2009, 12:46     Проблемы при создании *.txt файла консолем #22
Цитата Сообщение от alex2693 Посмотреть сообщение
но без этого не дается возможность писать...сразу после того как я ввожу адресс окно закрывается..типо свое дело сделал....
После
Код
cout << "Ввести текст\n";
поставь
Код
cin.get();
alex2693
Сообщений: n/a
14.06.2009, 12:49     Проблемы при создании *.txt файла консолем #23
Цитата Сообщение от Gravity Посмотреть сообщение
После
Код
cout << "Ввести текст\n";
поставь
Код
cin.get();
СПАСИБО БРАТОК!!!!!!!!!!ТЫ ПРОФЕССИОНАЛ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

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

как мне это вообще можно делать?...
ISergey
Maniac
Эксперт С++
1347 / 880 / 52
Регистрация: 02.01.2009
Сообщений: 2,645
Записей в блоге: 1
14.06.2009, 22:03     Проблемы при создании *.txt файла консолем #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;
}
CyBOSSeR
Эксперт C++
2299 / 1669 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.06.2009, 22:04     Проблемы при создании *.txt файла консолем #29
Цитата Сообщение от alex2693 Посмотреть сообщение
а это к какому инклюду относится?
stdlib.h
alex2693
Сообщений: n/a
14.06.2009, 22:19     Проблемы при создании *.txt файла консолем #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;
}
да нет...не это....когда открывается консоль я должен ввести текст....я хочу оттуда перенести на новую строчку....с консоля
ISergey
Maniac
Эксперт С++
1347 / 880 / 52
Регистрация: 02.01.2009
Сообщений: 2,645
Записей в блоге: 1
14.06.2009, 22:30     Проблемы при создании *.txt файла консолем #31
Ну тогда строку нужно парсить
alex2693
Сообщений: n/a
14.06.2009, 22:52     Проблемы при создании *.txt файла консолем #32
как парсить?)))не понял)
ISergey
Maniac
Эксперт С++
1347 / 880 / 52
Регистрация: 02.01.2009
Сообщений: 2,645
Записей в блоге: 1
14.06.2009, 23:04     Проблемы при создании *.txt файла консолем #33
анализировать строку и разбивать на нужные тебе части.
alex2693
Сообщений: n/a
14.06.2009, 23:21     Проблемы при создании *.txt файла консолем #34
а как это делать??(
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
15.06.2009, 00:48     Проблемы при создании *.txt файла консолем #35
Есть функция
C++
1
strtok (char* s1, char* s2);
она разбивает s1 символами из s2. Или можно самому разбивать на две строки так, как надо, и потом выводить в нужной последовательности.
alex2693
Сообщений: n/a
15.06.2009, 11:34     Проблемы при создании *.txt файла консолем #36
скажем s1 это мой текст а s2 например ,?
FunDuck
688 / 379 / 4
Регистрация: 22.01.2009
Сообщений: 1,135
15.06.2009, 11:46     Проблемы при создании *.txt файла консолем #37
Цитата Сообщение от alex2693 Посмотреть сообщение
скажем s1 это мой текст а s2 например ,?
Пробел, точка, запятая... кароче любые разделители... или те символы, которыми ты хочешь разбить строку.
alex2693
Сообщений: n/a
15.06.2009, 13:46     Проблемы при создании *.txt файла консолем #38
Цитата Сообщение от FunDuck Посмотреть сообщение
Пробел, точка, запятая... кароче любые разделители... или те символы, которыми ты хочешь разбить строку.
ясно...если не трудно напишешь код?
FunDuck
688 / 379 / 4
Регистрация: 22.01.2009
Сообщений: 1,135
15.06.2009, 17:14     Проблемы при создании *.txt файла консолем #39
Вот пример:
C++
1
2
3
4
5
6
7
char str[] = "123 345 576";
    char *buff = new char[128];
    buff = strtok(str," ");
    cout << buff << '\n';
    while (buff = strtok(0," ")){
        cout << buff << '\n';
    }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2009, 17:46     Проблемы при создании *.txt файла консолем
Еще ссылки по теме:

ofstream / ошибка при создании файла C++
C++ Проблемы при открытии файла
OpenCv 2 4 7 Ошибка при создании файла vec C++
C++ Использование переменной в качестве аргумента при создании файла через ofstream
C++ Переписать все строки файла F.txt в файл G.txt, удаляя все пробелы в конце каждой строки

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

Или воспользуйтесь поиском по форуму:
alex2693
Сообщений: n/a
15.06.2009, 17:46     Проблемы при создании *.txt файла консолем #40
что то не правильно работает.......при запуске пишет сразу 123
345
567....и все
Yandex
Объявления
15.06.2009, 17:46     Проблемы при создании *.txt файла консолем
Ответ Создать тему
Опции темы

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