The OpenNET Project / Index page

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

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

"Функция возвращает только числа :(("
Сообщение от gsoftadmin emailИскать по авторуВ закладки on 26-Дек-03, 12:40  (MSK)
Всем трям.
У мну проблема. Есть функция, которая (по замыслу, по крайней мере :)) ) возвращает значение ключа из ini файла. Возвращает, ессно, как строку.
Но... Глюк в следующем: если в ключе только цифры, то все ок. Если же в ключе появляються буквы, то функция возвращает черт знает что.

Куда копать?

Сама функция вот:

     5 gchar *read_conf_value(FILE *fp, gchar *section, gchar *key)
      6 {
      7   char str_s[50];
      8   char str_k[100];
      9   char *p = NULL;
     10   static char rez[100];
     11   size_t len_sect;
     12   size_t len_key;
     13
     14   len_sect = strlen(section);
     15   len_key = strlen(key);
     16
     17   rewind(fp);
     18
     19   while (!feof(fp))
     20   {
     21     if ((fgets(str_s,50,fp)) && (!strncmp(str_s,section,len_sect)))
     22     {
     23       while (!feof(fp))
     24       {
     25         if ((fgets(str_k,100,fp)) && (!strncmp(str_k,key,len_key)))
     26           {
     27             p = strtok(str_k,key);
     28             strcpy(rez,p);
     29 #ifdef DEBUG
     30             add_log(p,"info_tag");
     31 #endif
     32             return rez;
     33           }
     34       }
     35     }
     36   }
     37   return rez;
     38 }

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

 Оглавление

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

1. "Функция возвращает только числа :(("
Сообщение от SergCh Искать по авторуВ закладки on 29-Дек-03, 08:35  (MSK)
Может быть вообще не находит и выдаёт мусор?
Мог бы для начала проинициализировать, перед поиском, rez
Ну, типа, *rez = '\0';
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Функция возвращает только числа :(("
Сообщение от gsoftadmin emailИскать по авторуВ закладки on 29-Дек-03, 09:57  (MSK)
>Может быть вообще не находит и выдаёт мусор?
>Мог бы для начала проинициализировать, перед поиском, rez
>Ну, типа, *rez = '\0';

Может, я в си и чайник, но на идиота не похож.
Если я написал, что числа возвращаются нормально, а строки нет, то так и есть.

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

3. "Функция возвращает только числа :(("
Сообщение от genie Искать по авторуВ закладки on 30-Дек-03, 00:09  (MSK)
Ok, etot strtok() call - chto nahoditsya v key? Esche, esli strtok vozvratit NULL, chto budet togda?


>>Может быть вообще не находит и выдаёт мусор?
>>Мог бы для начала проинициализировать, перед поиском, rez
>>Ну, типа, *rez = '\0';
>
>Может, я в си и чайник, но на идиота не похож.
>Если я написал, что числа возвращаются нормально, а строки нет, то так
>и есть.


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

4. "Функция возвращает только числа :(("
Сообщение от SergCh Искать по авторуВ закладки on 30-Дек-03, 09:24  (MSK)
Да не надо так нервничать, Просто ты не обрабатываешь исключительные ситуации.
Вот я и предположил, что возможно дело вней (люди не боги, могут и опечататься).

Ну и впринципе, правильней всё таки, пользоваться переменными проинициализировав их.

PS Ну, и если тебе не нравятся мои советы, я не заставляю ими пользоваться, просто проигнорируй.

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

5. "Функция возвращает только числа :(("
Сообщение от gsoftadmin emailИскать по авторуВ закладки on 30-Дек-03, 10:00  (MSK)
>Да не надо так нервничать, Просто ты не обрабатываешь исключительные ситуации.
>Вот я и предположил, что возможно дело вней (люди не боги, могут
>и опечататься).
>
>Ну и впринципе, правильней всё таки, пользоваться переменными проинициализировав их.
>
>PS Ну, и если тебе не нравятся мои советы, я не заставляю
>ими пользоваться, просто проигнорируй.

Извини. Погорячился.
Задачка решена.
Кому интересно - http://clubpro.spb.ru/ubb/Forum14/HTML/001019.html

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


Удалить

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




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

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