|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.06.2009, 00:02 | #1 |
Регистрация: 22.06.2009
Сообщений: 6
|
С++. Работа с файлом и несколькими строками
Данная программа должна открывать текстовый файл "asdw.txt",в котором записаны несколько строк,считывать их в из файла в программу и искать количество слов состоящих из не более 4х букв. Само условие работает нормально. Проблема заключается в том что программа после того как считает из файла 1ю строку, не переходит на 2ю. Подскажите пожалуйста как можно исправить. вот мой код :
Код:
Последний раз редактировалось Stilet; 01.07.2009 в 08:17. |
24.06.2009, 00:47 | #2 |
Пользователь
Регистрация: 12.02.2009
Сообщений: 11
|
fgets(s,50,f); - второй аргумент функции (размер буфера), в данном случае "50" означает, что будет считано 49 символов строки, последний же 50-ый символ будет нулевым \0.
fgets читает символы из потока в строку. Чтение заканчивается, когда встречается литера `\n' (новая строка). В данном случае можно сделать один вывод, строка записанная в файле содержит большее количество символов чем 49, соответственно строка считывается не до конца и на следующем этапе происходит чтение той же строки начиная с позиции каретки 50. Решение - увеличить буфер(: У Вас сам буфер (строка) - char *s=new char[250] занимает 250 байт, а считать пытаетесь только 50? Правильнее будет тогда fgets(s,sizeof(s),f); |
25.06.2009, 00:32 | #3 |
Регистрация: 22.06.2009
Сообщений: 6
|
если написать fgets(s,sizeof(s),f); то считвает только 1 слово
попробовал написать fgets(s,250,f); - тоже не помогло,по прожнему только первая строка считывается |
25.06.2009, 01:00 | #4 |
Maniac
Форумчанин
Регистрация: 03.01.2009
Сообщений: 450
|
getline(..);
твоя задача на С++ Код:
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
|
01.07.2009, 02:09 | #5 |
Регистрация: 22.06.2009
Сообщений: 6
|
благодарю.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Си++. работа с файлом | milate | Помощь студентам | 0 | 08.06.2009 12:52 |
Работа с несколькими документами одновременно | Busine2009 | Microsoft Office Word | 12 | 04.06.2009 19:53 |
Одновременная работа с несколькими портами через ServerSocket | Sane2k | Работа с сетью в Delphi | 16 | 06.03.2009 17:24 |
Работа с файлом в C | Mishka | Помощь студентам | 2 | 22.07.2008 13:28 |
Работа с текстовым файлом | nataly_ukr | БД в Delphi | 23 | 07.12.2007 22:13 |