Чтение из файла (С++), очень нужно... |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
Чтение из файла (С++), очень нужно... |
lays |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Помогите pliz написать программу, которая читает данные из файла с расширением *DAT, выводит текст на экран и считает, сколько слов в тексте начинаются и заканчиваются на одну и ту же букву. Очень срочно, надо сдать 7 задач не успеваю написать все…=-О ОЧЕНЬ НУЖНА ПОМОЩЬ...
|
Merlin |
Сообщение
#2
|
Пионер Группа: Пользователи Сообщений: 114 Пол: Мужской Реальное имя: Ден Репутация: 0 |
#include <stdio.h> У меня была такая же задача...тольок с текстовым файлом.. -------------------- |
lays |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Спасибо, выручил.
Тока поясни pliz (я с файлами и строками пока мало работал), что значит вот этот код:
И еще как t изменяется, если мы его вначале приравняли к нулю, а в цикле оно вроде не меняется? Заранее спасибо. )) |
volvo |
Сообщение
#4
|
Гость |
Цитата(lays @ 3.06.2006 22:08) как t изменяется, если мы его вначале приравняли к нулю, а в цикле оно вроде не меняется? Меняется...str[t++] = c; // <-- Здесь...Сначала очередному символу строки присваивается значение с, а потом t увеличивается на 1-цу |
lays |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Спасиб.
Тока всё равно не догоняю на что проверяется вот это: if (c == ' ' || c == 13 || c == 10)? Что такео 13 и 10? |
volvo |
Сообщение
#6
|
Гость |
Символ с кодом 13 - возврат каретки, 10 - перевод строки (в текстовых файлах каждая строки завершается этими двумя символами, иначе ты бы видел содержимое текстовых файлов растянутым в одну строку)
|
ol'ga |
Сообщение
#7
|
Группа: Пользователи Сообщений: 2 Пол: Женский Реальное имя: Оля Репутация: 0 |
Цитата if (c == ' ' || c == 13 || c == 10) а можно как-нибудь иначе сделать? в С/С++ разве нет функции которая эту проверку делает сама? |
0xDEAD |
Сообщение
#8
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Alexander Репутация: 0 |
Цитата а можно как-нибудь иначе сделать? в С/С++ разве нет функции которая эту проверку делает сама? unsure.gif unsure.gif bool isspace(char arg) Она возвращает true, если символ является пробелом, табуляцией или символом новой строки. |
Гость |
Сообщение
#9
|
Гость |
0xDEAD
как ей воспользоваться в программе не подскажешь |
0xDEAD |
Сообщение
#10
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Alexander Репутация: 0 |
Вместо
if (c == ' ' || c == 13 || c == 10) написать if (isspace( c )) |
volvo |
Сообщение
#11
|
Гость |
Цитата(Гость @ 1.08.2006 11:48) как ей воспользоваться в программе не подскажешь Для этого вообще-то желательно знать, каким компилятором ты пользуешься... Подключи #include <ctype.h> Кстати, 0xDEAD, вышесказанное и к тебе тоже относится: в Turbo C 3.0, например, вообще нет типа bool, в следующий раз будь внимательнее... |
lays |
Сообщение
#12
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
while ((c = fgetc(in)) != EOF) объясните мне плиз, почему тут у "c" тип данных int, а не char. я знаю, что так не пройдет, НО понять ПОЧЕМУ не могу? Что-то связано со сравнением "!=EOF", ведь EOF == -1? дайте пожалуйста полный внятный ответ... |
volvo |
Сообщение
#13
|
Гость |
Цитата почему тут у "c" тип данных int, а не char. Потому, что fgetc возвращает int, а не char:Цитата(TC Help) fgetc, fputc <STDIO.H> ■ fgetc gets a character from a stream ■ fputc outputs a character to a stream Declaration: ■ int fgetc(FILE *stream); ■ int fputc(int c, FILE *stream); |
Текстовая версия | 27.09.2024 20:56 |