Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запись и чтение из файла 
:(
    Опции темы
krikun2116
Дата 15.3.2014, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 21.3.2012

Репутация: нет
Всего: нет



Здравствуйте уважаемые форумчане, недавно начал изучать c++ и дошел, до записи и чтения из файла
Вроде получилось и читать и записывать
но столкнулся с несколькими проблемами:
-Записывать и читать я могу на русском языке,но в файле пишутся кракозябры.
-Также в файл записывается первое слово вместо всего того что я записал.
Инклуды
Код

#define _CRT_SECURE_NO_DEPRECATE
#pragma once
#include <fstream>
#include <string>
#include "targetver.h"
#include "iostream"
#include <stdio.h>
#include <tchar.h>
#include <locale>


Сам Файл
Код


#include "stdafx.h"
using namespace std;
int main() {
    setlocale(LC_ALL, NULL);
    FILE *f;
    char s[20];
    cin >> s;
    f = fopen("D:\\text.txt.", "wt");
    fputs(s, f);
    fclose(f);

    
    string line;
    ifstream myfile("D:\\text.txt");
    if (myfile.is_open())
    {
        while (myfile.good())
        {
            getline(myfile, line);
            cout << line << endl;
        }
        myfile.close();
    }

    else cout << "Unable to open file";
    
    return 0;
}

PM MAIL   Вверх
Cheloveck
Дата 15.3.2014, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: 5
Всего: 32



Цитата(krikun2116 @  15.3.2014,  20:03 Найти цитируемый пост)
Записывать и читать я могу на русском языке,но в файле пишутся кракозябры.

Текст из консоли window$ приходит в кодировке CP866, её ты и пишешь в файл.

Цитата(krikun2116 @  15.3.2014,  20:03 Найти цитируемый пост)
Также в файл записывается первое слово вместо всего того что я записал.

В файл записывается ровно то, что ты туда пишешь.

Цитата(krikun2116 @  15.3.2014,  20:03 Найти цитируемый пост)
cin >> s;

Читает до первого пробела. Если надо читать строку, то надо юзать getline

Это сообщение отредактировал(а) Cheloveck - 15.3.2014, 22:28


--------------------
user posted image
PM Jabber   Вверх
krikun2116
Дата 15.3.2014, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 21.3.2012

Репутация: нет
Всего: нет



Спасибо за ответ!
PM MAIL   Вверх
trinitr0
Дата 16.3.2014, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 25.6.2013

Репутация: нет
Всего: нет



Здесь неплохая обзорная статья о методах ввода-вывода в Си++ Ввод-вывод в Си++
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1042 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.