The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Всем  спасибо, но наткнулся на ещё одну проблемку... ;-))))"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Всем  спасибо, но наткнулся на ещё одну проблемку... ;-))))"
Сообщение от Alexander emailИскать по авторуВ закладки on 27-Июн-02, 20:54  (MSK)
На предыдущие вопросы все ответы нашёл, благодаря форуму. Спасибо всем ответившим!

Но появился ещё вопрос. Из желания упростить функцию решил разделить её ещё на несколько. Допустим есть файл, в нём есть строчки-комментарии. На них реакция - пропуск всего-чего-попало до '\n'. Как это организовать? ;-)
Допустим:

#include <stdio.h>

int skip_line(???) {
???
return 0;
}

int main() {
FILE *fd;
fd = fopen("file", "r");
switch (fgetc(fd)) {
  case '#':
   skip_line(???);
   break;
  default:
}
close(fd);
return 0;
}

Как всё это должно выглядеть? Так как только пересел от книжек практиковать, то возможны ошибки, за что прошу прощения. Как правильно передать управление другой функции, доступ к файлу и вернуться из функции...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Вывод..."
Сообщение от Alexander emailИскать по авторуВ закладки on 27-Июн-02, 21:24  (MSK)
Почитал другие сообщения, кажись я не вписываюсь в рамки со своими вопросами... ;-) Может у кого где-нить на ftp завалялись книги по СИ? Киньте ссылки, пожалуйста! ;-)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Всем  спасибо, но наткнулся на ещё одну проблемку... ;-)..."
Сообщение от Alexander emailИскать по авторуВ закладки on 28-Июн-02, 07:49  (MSK)
После некоторого отдыха написал всё-таки... Получилось так (см. ниже). Будут ли с этим какие-то глюки со временем? Или это вполне нормальный вариант? ;-)

#include <stdio.h>

int skip_line(fd)
FILE *fd;
{
while (feof(fd) == 0 && fgetc(fd) != '\n');
return 0;
}

int main() {
FILE *fd;
fd = fopen("file", "r");
switch (fgetc(fd)) {
  case '#':
   skip_line(fd);
   break;
  default:
}
close(fd);
return 0;
}

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Всем  спасибо, но наткнулся на ещё одну проблемку... ;-)..."
Сообщение от SergCh Искать по авторуВ закладки on 28-Июн-02, 13:04  (MSK)
Может тебе проще, например, flex-ом воспользоваться?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: Всем  спасибо, но наткнулся на ещё одну проблемку... ;-)..."
Сообщение от LS emailИскать по авторуВ закладки on 28-Июн-02, 13:41  (MSK)
>После некоторого отдыха написал всё-таки... Получилось так (см. ниже). Будут ли с
>этим какие-то глюки со временем? Или это вполне нормальный вариант? ;-)
>
>
>#include <stdio.h>
>
>int skip_line(fd)
> FILE *fd;
>{
> while (feof(fd) == 0 && fgetc(fd) != '\n');
> return 0;
>}
>
>int main() {
> FILE *fd;
> fd = fopen("file", "r");
> switch (fgetc(fd)) {
>  case '#':
>   skip_line(fd);
>   break;
>  default:
> }
> close(fd);
> return 0;
>}


пользуй лучше fgets - читай сразу целую строку, а потом анализируй ее

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру