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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++]файлы, считать посимвольно 
:(
    Опции темы
Cvet
Дата 21.2.2008, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте! Столкнулась с такой проблемой: мне нужно считать из файла текст, посимвольно. Организовала я это так:

Код

f.open("text.txt",ios::in);
int i=0,k=0;
while(!f.eof())
 {
  f>>mas[i];

  i++;
  k++;
 }


Вся проблема в том, что не считываются пробелы, что недопустимо. Что мне делать? Подскажите пожалуйста. Всем заранее спасибо!
PM MAIL   Вверх
Andrey44
Дата 21.2.2008, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Код

int main()
{
    char buffer[81];
    int i, ch;
    FILE* fp;
    
    // Read a single line from the file "crt_getc.txt". 

    fopen_s(&fp, "crt_getc.txt", "r");
    if (!fp)
    {
       printf("Failed to open file crt_getc.txt.\n");
       exit(1);
    }

    for (i = 0; (i < 80) && ((ch = getc(fp)) != EOF)
                         && (ch != '\n'); i++)
    {
        buffer[i] = (char) ch;
    }
       
    // Terminate string with a null character 
    buffer[i] = '\0';
    printf( "Input was: %s\n", buffer);

    fclose(fp);
}



--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
JackYF
Дата 21.2.2008, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

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



Andrey44, omg.
А достаточно, ЕМНИП, всего лишь

Код

f >> std::ios::noskipws;



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Andrey44
Дата 21.2.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



JackYF,  согласен smile 


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
Cvet
Дата 21.2.2008, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Товарищи, у меня ни тот ни другой вариант не работают( В первом случае не определяет функцию fopen_s, а во втором тоже чето не хочет работать...может еще какие -нибудь способы есть?  smile 
PM MAIL   Вверх
Andrey44
Дата 21.2.2008, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



#include <stdio.h>
 smile 


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
Cvet
Дата 21.2.2008, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



не, библиотеку я как раз подключила. Даже в справке такой функции нет. А стд он требует обьявить как структуру. Наверно у меня сишник древний smile 
PM MAIL   Вверх
Mayk
Дата 21.2.2008, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

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



Cvet, 
попробуй
Код
while(!f.eof())
 {
  mas[i]=fin.get();
  i++;
  k++;
 }


Цитата(Cvet @  21.2.2008,  20:41 Найти цитируемый пост)
структуру. Наверно у меня сишник древний smile  

нет такой ф-ции как в стандарте как fopen_s. 
можно FILE* fp = fopen("file","r");
fopen_s(&fp,"file","r")  стандарту не соответствует.

Это сообщение отредактировал(а) Mayk - 21.2.2008, 16:45


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Andrey44
Дата 21.2.2008, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Mayk,  Почему не соответствует стандарту? 
Ведь это считается безопасной функцией.

Open a file. These are versions of fopen, _wfopen with security enhancements as described in Security Enhancements in the CRT = MSDN


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
Mayk
Дата 21.2.2008, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

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



Цитата(Andrey44 @  21.2.2008,  20:51 Найти цитируемый пост)
Mayk,  Почему не соответствует стандарту? 

Потому что её нет в стандарте. 

Цитата(Andrey44 @  21.2.2008,  20:51 Найти цитируемый пост)
MSDN

MSDN != стандарт, стандарт != MSDN.

Добавлено @ 16:58
Цитата(C99)

fmod functions, 7.12.10.1, F.9.7.1
fmod type-generic macro, 7.22
fopen function, 7.19.5.3, 7.19.5.4
FOPEN_MAX macro, 7.19.1, 7.19.3, 7.19.4.3
for statement, 6.8.5, 6.8.5.3
form-feed character, 5.2.1, 6.4
form-feed escape sequence (\f), 5.2.2, 6.4.4.4,
     7.4.1.10

вот что в стандарте есть. fopen_s нет.

Это сообщение отредактировал(а) Mayk - 21.2.2008, 16:58


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Cvet
Дата 21.2.2008, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

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

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

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

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


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

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


 




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


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

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