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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение из файла 
:(
    Опции темы
stat007
Дата 31.1.2009, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: -2
Всего: -4



Привет Коллеги!
Подскажите пожалуйста, как привильно написать код, для чтения ВСЕГО содержимого текстового файла, и вывод на консоль?
Код, который я привёл ниже рабочий, но всё содержимой файла выводится почемуто без пробелов и без переносов на следующую строку.  А так же это больше язык С.
В чём ошибка? И если можете, то привидите более симпотичний код для языка С++.
Код

#include<windows.h>
#include<stdio.h>
void main()
{
char c[99999];
FILE*qqq=fopen("file.txt","r");
while(!feof(qqq))
{
fscanf(qqq,"%s",c);
CharToOem(c,c);
printf("%s",c);
}
}

PM MAIL   Вверх
pan2004
Дата 31.1.2009, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



На C++:
Код

#include <fstream>
#include <iterator>
#include <iostream>
#include <algorithm>
int main()
{
   std::ostream_iterator<char> out(std::cout);
   std::istream_iterator<char> in(ifstream("file.txt")), end;
   std::copy(in, end, out);
   return 0;
}



--------------------
Qt4/C++ fan
WinXP SP3: MSVC++2005 Qt4.5.1 Boost1.39
сыграем в дурака?
PM MAIL   Вверх
vinter
Дата 31.1.2009, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



pan2004, твой код не то, что хотел автор.


--------------------
Мой блог
PM MAIL WWW   Вверх
stat007
Дата 31.1.2009, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: -2
Всего: -4



pan2004, чёта читает только всего одну первую буквы!
Ещё варианты будут???

Это сообщение отредактировал(а) stat007 - 31.1.2009, 19:06
PM MAIL   Вверх
vinter
Дата 31.1.2009, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



stat007, читай книги, или жди альтруистов.


--------------------
Мой блог
PM MAIL WWW   Вверх
math64
Дата 31.1.2009, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Код

// Установка локали - только Visual C++ - из соседней темы
setlocale(LC_ALL, "Russian");
...
// чтение строки
fgets(c, sizeof(c), qqq);
// печать строки
printf("%s\n", c);
...

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


Опытный
**


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

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



Цитата

читай книги, или жди альтруистов

Похоже, нашёлся наиболее адекватный девиз для поклонников FSF  smile 
PM MAIL   Вверх
mes
Дата 31.1.2009, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



Цитата(stat007 @  31.1.2009,  17:05 Найти цитируемый пост)
pan2004, чёта читает только всего одну первую буквы!

приведенный код не должен был по правилам скомпилироваться, так как содержит два мелких недочета.
Покажите как Вы их исправили, раз код выдает Вам неправильный результат. 

Это сообщение отредактировал(а) mes - 31.1.2009, 22:18


--------------------
PM MAIL WWW   Вверх
just_geek
Дата 1.2.2009, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



fscanf(...,"%[^n]s"),.. )
PM MAIL   Вверх
Verus
Дата 1.2.2009, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Может так подойдет?
Код

HANDLE hFileIn = CreateFile(filename, GENERIC_READ, NULL,
        NULL, OPEN_EXISTING,NULL,NULL);
    if (GetLastError()==0)
    {
        DWORD dwFileSize = GetFileSize(hFileIn,0);
        char* rBuf = new char[dwFileSize];
        DWORD dwRead;
        ReadFile(hFileIn,rBuf,dwFileSize,&dwRead,0);
        printf("%s\n", rBuf);
        delete [] rBuf;
    }
CloseHandle(hFileIn);

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

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

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

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

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


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

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


 




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


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

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