Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.77/22: Рейтинг темы: голосов - 22, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 72
1

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

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

Author24 — интернет-сервис помощи студентам
у меня код
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 файле только первое слово записывается...то есть после пробела ничего не записывает....буду благодарен тому кто исправит это
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.06.2009, 23:15
Ответы с готовыми решениями:

Лишний пробел при создании txt-файла
Вот код создания файла: if (isset($_GET)) { //Создание schedule.mss for ($i=1;...

Проблемы при создании MDE файла
Базы с данными преобразованы в файл MDE с легкостью, а вот исполнительный файл не идет. Какие могут...

Загрузка файла *.txt при открытии приложения при двойном клике на самом файле *.txt
Здравствуйте! Подскажите как сделать так, чтобы при двойном клике по текстовому файлу, к примеру...

Проблемы при создании матрицы
Всем привет! Есть две матрицы 9х1, нужно создать новую, так же 9х1, в которой будут следующие...

45
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 72
14.06.2009, 12:44 21
Author24 — интернет-сервис помощи студентам
и вообще почему рядом с чарами пишется например [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;
}



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

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

как мне это вообще можно делать?...
0
Maniac
Эксперт С++
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 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
Эксперт С++
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
14.06.2009, 22:04 29
Цитата Сообщение от alex2693 Посмотреть сообщение
а это к какому инклюду относится?
stdlib.h
1
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 72
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;
}
да нет...не это....когда открывается консоль я должен ввести текст....я хочу оттуда перенести на новую строчку....с консоля
0
Maniac
Эксперт С++
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
14.06.2009, 22:30 31
Ну тогда строку нужно парсить
0
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 72
14.06.2009, 22:52 32
как парсить?)))не понял)
0
Maniac
Эксперт С++
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
14.06.2009, 23:04 33
анализировать строку и разбивать на нужные тебе части.
0
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 72
14.06.2009, 23:21 34
а как это делать??(
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
15.06.2009, 00:48 35
Есть функция
C++
1
strtok (char* s1, char* s2);
она разбивает s1 символами из s2. Или можно самому разбивать на две строки так, как надо, и потом выводить в нужной последовательности.
0
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 72
15.06.2009, 11:34 36
скажем s1 это мой текст а s2 например ,?
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
15.06.2009, 11:46 37
Цитата Сообщение от alex2693 Посмотреть сообщение
скажем s1 это мой текст а s2 например ,?
Пробел, точка, запятая... кароче любые разделители... или те символы, которыми ты хочешь разбить строку.
1
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 72
15.06.2009, 13:46 38
Цитата Сообщение от FunDuck Посмотреть сообщение
Пробел, точка, запятая... кароче любые разделители... или те символы, которыми ты хочешь разбить строку.
ясно...если не трудно напишешь код?
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
15.06.2009, 17:14 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';
    }
1
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 72
15.06.2009, 17:46 40
что то не правильно работает.......при запуске пишет сразу 123
345
567....и все
0
15.06.2009, 17:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2009, 17:46
Помогаю со студенческими работами здесь

Проблемы при создании отчета
Делаю пример из книги Радченко &quot;Практическое пособие разработчика 8.1&quot; Отчет РейтингУслуг Текст...

Проблемы при ручном создании компонента
Делаю свой компонент-кнопку. Просто как компонент создается на ура, НО как только пытаюсь изменить...

Проблемы при создании базы данных mysql
Создал базу данных пишет ошибку - Ошибка при указании соединения для controluser в конфигурации.

Файл: Переписать текст в t3.txt сначала из файла t1.txt, а потом из файла t2.txt
1) Переписать текст в t3.txt сначала с файла t1.txt, а потом с файла t2.txt 2) Файл t2.txt...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru