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

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

12.06.2009, 23:15. Показов 5203. Ответов 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 файле только первое слово записывается...то есть после пробела ничего не записывает....буду благодарен тому кто исправит это
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.06.2009, 23:15
Ответы с готовыми решениями:

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

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

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

45
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
12.06.2009, 23:36
C++
1
2
 ifstream in;
if (!in.fail()){//Если открыли
А вот этим ты что пытаешься сделать?
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
13.06.2009, 01:08
В 24 строчке cin >> a;
cin записывает символы в строку до первого пробела.
Напишите
C++
1
cin.getline (a, 512);
0
Заказ софта
 Аватар для Search..
343 / 188 / 21
Регистрация: 26.05.2009
Сообщений: 863
13.06.2009, 01:11
Вот мой скромный вариант готовой программы:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
 
int main(int argc, char * argv [])
{
    char line[1024];
 
    printf("Write string: ");
    fgets(line, sizeof(line), stdin);
 
    FILE *fp = fopen("text.txt", "wt");
 
    if(fp == 0) {
        fprintf(stderr, "Error! File not open!\n");
        return -1;
    }
 
    fprintf(fp, line);
    fclose(fp);
 
    return 0;
}
0
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 72
13.06.2009, 10:11
Цитата Сообщение от FunDuck Посмотреть сообщение
C++
1
2
 ifstream in;
if (!in.fail()){//Если открыли
А вот этим ты что пытаешься сделать?
ну это больше для пользователя...я там недописал else...
если не открылась прога там написать скажем "нельзя открыть файл" типо..

Добавлено через 4 минуты 17 секунд
Цитата Сообщение от qwert Посмотреть сообщение
В 24 строчке cin >> a;
cin записывает символы в строку до первого пробела.
Напишите
C++
1
cin.getline (a, 512);
не работает...после того как я ввожу адресс консоль сразу закрывается...
вот!сейчас сработало!я снизу это добавил сработало спасибо!Но!я написал "ddd как дела"...в тексте ddd небыло...почему7
или же:написал "Hello world", выводиться только world...
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
13.06.2009, 10:50
Цитата Сообщение от alex2693 Посмотреть сообщение
ну это больше для пользователя...я там недописал else...
если не открылась прога там написать скажем "нельзя открыть файл" типо..
Может я чего то не понял...... ifstream - класс для работы с файлами.... при чем тут прога?
Затем этот цикл....
C++
1
while(!in.eof()){//Цикл будет выполнятся пока не закончится файл.... (который даже не открывали)
Вобщем переделал немного твою....:
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>
#include <locale.h>
#include <windows.h>
using namespace std;
 
int main(){
    setlocale( LC_ALL,"Russian.1572" );
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char fname[128], str[512];
    cout << "Введите адрес и имя файла: ";
    cin >> fname;
    cout << "Ввести текст\n";
    cin.getline(str, 512);
    ofstream out(fname);
    if (!out.fail()){//Если открыли
        out << str;
    }
    return 0;
}
0
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 72
13.06.2009, 11:04
Цитата Сообщение от qwert Посмотреть сообщение
cin записывает символы в строку до первого пробела.
а твой вариант вроде работает только скажем я пишу "привет мир я алексей"
выводит в txt " мир я алескей", то есть первое слово исчезает

Добавлено через 4 минуты 30 секунд
Цитата Сообщение от FunDuck Посмотреть сообщение
Может я чего то не понял...... ifstream - класс для работы с файлами.... при чем тут прога?
Затем этот цикл....
C++
1
while(!in.eof()){//Цикл будет выполнятся пока не закончится файл.... (который даже не открывали)
Вобщем переделал немного твою....:
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>
#include <locale.h>
#include <windows.h>
using namespace std;
 
int main(){
    setlocale( LC_ALL,"Russian.1572" );
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char fname[128], str[512];
    cout << "Введите адрес и имя файла: ";
    cin >> fname;
    cout << "Ввести текст\n";
    cin.getline(str, 512);
    ofstream out(fname);
    if (!out.fail()){//Если открыли
        out << str;
    }
    return 0;
}
это все не я написал я на форме нашел прогу которая из файла удаляет энтеры и выводит в новвый файл...я бы сам не смогу столько написать))))я только только учусь)))

Добавлено через 2 минуты 44 секунды
ввожу твой код делаю дэбаг открывается консоль пишу адрес и имя и сразу закрывается....

Добавлено через 1 минуту 26 секунд
ах даа...ты там на 15 строчке не добавил cin >> str;

Добавлено через 1 минуту 13 секунд
тоже самое что и тогда....я пишу приет как дела, а в тексте только как дела!!!!
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
13.06.2009, 11:47
Странно... у меня все работает....
Цитата Сообщение от alex2693 Посмотреть сообщение
Добавлено через 1 минуту 26 секунд
ах даа...ты там на 15 строчке не добавил cin >> str;
А это зачем?? и куда именно.... покажи весь код что получился.....
1
Maniac
Эксперт С++
 Аватар для ISergey
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
13.06.2009, 12:00
Для записи в файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// writing on a text file
#include <iostream>
#include <fstream>
using namespace std;
 
int main () {
  ofstream myfile ("example.txt");
  if (myfile.is_open())
  {
    myfile << "This is a line.\n";
    myfile << "This is another line.\n";
    myfile.close();
  }
  else cout << "Unable to open file";
  return 0;
}
Цитата Сообщение от file example.txt
This is a line.
This is another line.
Чтение c файла
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// reading a text file
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main () {
  string line;
  ifstream myfile ("example.txt");
  if (myfile.is_open())
  {
    while (! myfile.eof() )
    {
      getline (myfile,line);
      cout << line << endl;
    }
    myfile.close();
  }
 
  else cout << "Unable to open file"; 
 
  return 0;
}
Цитата Сообщение от Console
This is a line.
This is another line.
Input/Output with files
1
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 72
13.06.2009, 14:59
Цитата Сообщение от FunDuck Посмотреть сообщение
Странно... у меня все работает....

А это зачем?? и куда именно.... покажи весь код что получился.....
сразу после твоего cin-а....этот оператор только как бы свойство для cin>>a-а......

Добавлено через 2 минуты 20 секунд
Цитата Сообщение от ISergey Посмотреть сообщение
Для записи в файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// writing on a text file
#include <iostream>
#include <fstream>
using namespace std;
 
int main () {
  ofstream myfile ("example.txt");
  if (myfile.is_open())
  {
    myfile << "This is a line.\n";
    myfile << "This is another line.\n";
    myfile.close();
  }
  else cout << "Unable to open file";
  return 0;
}

Чтение c файла
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// reading a text file
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main () {
  string line;
  ifstream myfile ("example.txt");
  if (myfile.is_open())
  {
    while (! myfile.eof() )
    {
      getline (myfile,line);
      cout << line << endl;
    }
    myfile.close();
  }
 
  else cout << "Unable to open file"; 
 
  return 0;
}

Input/Output with files
а это все один и тот же код?
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
14.06.2009, 01:03
Цитата Сообщение от alex2693 Посмотреть сообщение
не работает...после того как я ввожу адресс консоль сразу закрывается...
вот!сейчас сработало!я снизу это добавил сработало спасибо!Но!я написал "ddd как дела"...в тексте ddd небыло...почему7
или же:написал "Hello world", выводиться только world...
Возможно, ты что-то вводишь с помощью cin, часть записывается куда-нибудь не туда.
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
14.06.2009, 01:14
Цитата Сообщение от alex2693 Посмотреть сообщение
ну то есть ниче не изменилось..
В первом случае текст записывается, а во втором читается из файла.
0
Maniac
Эксперт С++
 Аватар для ISergey
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
14.06.2009, 02:03
Цитата Сообщение от alex2693 Посмотреть сообщение
а это все один и тот же код?
В смысле?
0
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 72
14.06.2009, 02:35
Цитата Сообщение от ISergey Посмотреть сообщение
В смысле?
ну то есть ниче не изменилось..
0
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 72
14.06.2009, 09:04
Цитата Сообщение от qwert Посмотреть сообщение
Возможно, ты что-то вводишь с помощью cin, часть записывается куда-нибудь не туда.
а как могу исправить это?
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
14.06.2009, 11:19
Цитата Сообщение от alex2693 Посмотреть сообщение
а как могу исправить это?
Покажи весь код который получился.
0
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 72
14.06.2009, 12:27
#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;
}

вот......
0
 Аватар для Gravity
577 / 571 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
14.06.2009, 12:33
Code
1
cin >> str;
Вот этот cin все и портит.
1
0 / 0 / 0
Регистрация: 09.06.2009
Сообщений: 72
14.06.2009, 12:37
Цитата Сообщение от Gravity Посмотреть сообщение
Code
1
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 чтобы окно не закрылсь...делаю кампиляцию ввожу адресс снизу пишет вводите текст и не дается возможность писать...
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
14.06.2009, 12:39
Для того чтобы приостановить выполнение программы (для того чтобы она сразу не закрылась) вместо строки:
Цитата Сообщение от alex2693 Посмотреть сообщение
C++
1
Sleep(50000);
Напиши:
C++
1
system("pause");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.06.2009, 12:39
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru