Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2008, 16:43   #1
sashaforever
Новичок
Джуниор
 
Регистрация: 12.05.2008
Сообщений: 1
По умолчанию запись в файл из списка на Си

Всем доброго дня!
Я начинающий программист на Си и столкнулся с непонятной проблемой:

element = (struct dl_node*)head->next;

if(strstr(element->name,"") != NULL){
sprintf(name, "%s\n", element->name);
fwrite(name, strlen(name), 1, stream);
memset(name,0,sizeof(name));
}

т.е. по идее если в element->name что-то содержится, то оно должно записаться в файл. На деле вход в условие if происходит в любом случае, даже если в структуре есть "". Соответственно в файл записывается просто пустая строка. что не нужно! Как это можно отрегулировать? Спасибо!
sashaforever вне форума Ответить с цитированием
Старый 12.05.2008, 18:24   #2
theos
Форумчанин
 
Аватар для theos
 
Регистрация: 10.12.2007
Сообщений: 158
По умолчанию

Функция strstr ищед подстроку. Естесственно в любой строке есть пустая подстрока. Функция возвращает указатель на начало. Пустая строчка или нет лучше проверять так:

Код:
if(strlen(element->name) > 0)
Ну или (для извращенцев) !strcmp(str,"")
theos вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись в файл Titan123 Общие вопросы Delphi 6 23.08.2008 01:12
Запись в файл |{ot Общие вопросы Delphi 6 05.07.2008 02:24
Запись в файл [Smarik] Помощь студентам 4 07.05.2008 23:26
Запись в файл С++ Viteks Общие вопросы C/C++ 3 18.04.2008 13:18
Запись в файл на С++ Mails Помощь студентам 7 31.03.2008 14:37