Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
#1

Файл - C++

06.10.2010, 21:35. Просмотров 517. Ответов 10
Метки нет (Все метки)

Как считать з файла строку з n символов, не используя библиотеку <stdio>???

Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2010, 21:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Файл (C++):

Файл: Скопировать текст в другой текстовый файл файл, но чётные строки должны быть с большой буквы... - C++
Создать текстовый файл. Скопировать текст в другой текстовый файл файл, но чётные строки должны быть с большой буквы, а нечетные с...

Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке - C++
Пожалуйста, помогите решить задачу в C++!!! Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но...

Даны натуральное , символьный файл и текстовый файл . Файл содержит 30 слов , каждое из которых будем называть ключевым - C++
Добрый день, помогите пожалуйста сделать вот такую программу. Даны натуральное k , символьный файл f и текстовый файл f1 . Файл f...

Задан текстовый файл, необходимо по нему сформировать двоичный файл индексов - C++
Нужна помощь! Задача: Задан текстовый файл, необходимо по нему сформировать двоичный файл индексов (смещений начал строк в текстовом...

Файл: Открыть файл в режиме «а+», внести изменения, характеризующие этот режим. - C++
Открыть файл для записи и записать в него произвольную информацию. Закрыть файл. Открыть его же в режиме «а+», внести изменения,...

Не получается прочесть правильно текстовый файл в структуру а затем в бинарный файл - C++
Нужно просто прочесть файл в структуру данных а потом оттуда записать в бинарный файл Вот как выглядит текстовый файл: 11122 Mary...

10
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
06.10.2010, 21:36 #2
<fstream>
1
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
06.10.2010, 21:42  [ТС] #3
C++
1
2
3
4
5
6
ifstream file("text.txt",ios::in);
 while(!file.eof())
  {
    char str[255];
    file>>str;
  }
Так читает до первого пробела, а надо целую строку.

В <stdio> есть fgets(). Как читать без <stdio>???
0
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
06.10.2010, 21:43 #4
юзай getline()
1
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
06.10.2010, 21:43 #5
используй getline

Добавлено через 18 секунд
Asics^, опередил)
1
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
06.10.2010, 21:48 #6
-comrade-, Вот так у меня считало целую строку даже без использование getline()
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <fstream>
#include <string>
 
int main()
{
    std::ifstream f("1.txt");
    while(!f.eof())
    {
        std::string str;
        f >> str;
        std::cout << str;
    }
    std::cin.get();
}
Ну так лутче
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <fstream>
#include <string>
 
int main()
{
    std::ifstream f("1.txt");
    while(!f.eof())
    {
        char m[256];
        f.getline(m, 256);
        std::cout << m;
    }
    std::cin.get();
}
1
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
06.10.2010, 21:49  [ТС] #7
Ага, точно. Спасибо
0
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
06.10.2010, 21:50 #8
Asics^, так оно у вас считало последовательно весь файл. А строка здесь не причем. В str так и осталось то, что между последний пробелом и концом файла.
0
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
06.10.2010, 21:53 #9
gooseim, ну да,ето я поспешыл что то з выводом.
0
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
06.10.2010, 21:54  [ТС] #10
Цитата Сообщение от Asics^ Посмотреть сообщение
-comrade-, Вот так у меня считало целую строку даже без использование getline()
У меня немного другая задача, считать то надо і передать в другую функцию.
Подойдёт getline().
0
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.10.2010, 06:22 #11
C
1
2
3
4
5
6
7
    char line[1000];
    int c, i;
 
    /* getc может быть макросом или функцией, находится в stdio.h */
    for (i = 0; i < 1000 - 1 && (c = getc(ifp)) != EOF && c != '\n'; i++)
        line[i] = c;
    line[i] = '\0';
в C ты и файл не откроешь без stdio.h
0
07.10.2010, 06:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2010, 06:22
Привет! Вот еще темы с ответами:

Заполнить файл целыми случайными числами, скопировать чётные в другой файл - C++
Заполнить в файл последовательного доступа f целыми числами, полученными с помощью генератора случайных чисел. Получить в файле g те...

Скопировать текстовый файл в новый файл, заменив в каждой строке слова «ok» на «*» - C++
Прошу помочь с задачей.Теории не было, сразу практика.Должны своими мозгами , но моих не хватает. Это последняя задача и завтра зачет.=/ ...

Дан файл. Записать в другой файл строки, которые являются палиндромами. - C++
Помогите пожалуйста с задачей: &quot;Дан файл а. Записать в файл с те строки и их номера в исходном файле, которые являются...

Дан целочисленный файл А. Записать в файл В все кратные трём числа из А - C++
Дан целочисленный файл А. Записать в файл В все кратные трём числа из А. Вот что я написал: #include &lt;cstdlib&gt; #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru