Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

функция ФОПЕН

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
[ d ]
Гость





СообщениеДобавлено: Чт Ноя 18 2004 01:51    Заголовок сообщения: функция ФОПЕН Ответить с цитатой

челы кто знает хорошо Си помогите правильно синтаксис написать плиз а то запарился все что не пишу все неработает и немогу никак файл открыть

FILE *fl ;
fl = fopen ( "c:\read.txt" , "r" ) ;


тут типа всякие примочки

fclose ( fl ) ;

я просто нигде не могу пример найти конкретный и незнаю как писать правильно , и как потом прочитать из файла текст мне надо считывать его из ФЛ или ФЛ уже само содержит текст , потому что как я понял ФЛ должно содержать только ссылку на файл
Вернуться к началу
Andy_user



Зарегистрирован: 03.12.2003
Сообщения: 382
Откуда: Санкт-Петербург

СообщениеДобавлено: Чт Ноя 18 2004 11:12    Заголовок сообщения: Ответить с цитатой

#include <string.h>
#include <stdio.h>

int main(void)
{
FILE *stream;
char msg[] = "this is a test";
char buf[20];

if ((stream = fopen("c:\\DUMMY.FIL", "w+"))
== NULL)
{
fprintf(stderr, "Cannot open output file.\n");
return 1;
}

/* write some data to the file */
fwrite(msg, strlen(msg)+1, 1, stream);

/* seek to the beginning of the file */
fseek(stream, SEEK_SET, 0);

/* read the data and display it */

fread(buf, strlen(msg)+1, 1, stream);
printf("%s\n", buf);

fclose(stream);
return 0;
}
_________________
Знание принципов компенсирует незнание фактов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
[ d ]
Гость





СообщениеДобавлено: Пт Ноя 19 2004 17:28    Заголовок сообщения: Ответить с цитатой

о спасибо работает теперь , все путем стало ...
не к теме :
только вот что то я замечаю оень часто что функция ПРИНТФ иногда какую то чуш выдает , бывает как выдаст то что даже и близко не просил , особенно я немогу вьехать в то как она считывает с массива
а конкретно там был такой момент когда сначала был обьявлен массив с 20 байтами в запасе а потом было в него считано скажем 10 байт , дак вот потом когда я этот массив распечатываю с помощью функции ПРИНТФ у меня на экране появляется что то типа на подобие :

привет чел*х%"№"!

красным выделено то что появляется откудато видимо со стека но как оно оказалось в моем массиве я до сих пор не могу понять , может кто в курсе этого и может пролить свет на это дело Rolling Eyes
Вернуться к началу
Гость






СообщениеДобавлено: Вс Ноя 21 2004 21:43    Заголовок сообщения: Ответить с цитатой

После привет чел дописывай '\0', и все путем будет.
Вернуться к началу
LKT_D



Зарегистрирован: 19.11.2004
Сообщения: 14

СообщениеДобавлено: Вс Ноя 21 2004 22:20    Заголовок сообщения: Ответить с цитатой

Anonymous писал(а):
дописывай '\0', и все путем будет.


наверное так и надо делать а то другого выхода нету ...
можно конечно и нечитать то что незаписано но не всегда ведь знаеш скока символов записано особенно если расчитано на то что кто то другой ьудет вводить

не к теме :
а кстати я еще вот заметил что иногда встречается что то на подобие [ переменная - '0' ]
в качестве переменной было кажется строка и простые символы , это вообще обязательно употреблять или можно обойтись без - '0'
_________________
free forever
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
grayrat



Зарегистрирован: 30.06.2003
Сообщения: 189

СообщениеДобавлено: Пн Ноя 22 2004 21:50    Заголовок сообщения: Ответить с цитатой

Строки в С устроены так что они кончаются нулем. Собственно, в самом языке строковых переменных нет, все чем мы пользуемся когда работаем со строками это библиотечные функции, а массив char[] или char* это не есть строки. Ф-я printf будет печатать твой массив до тех пор пока не встретит ноль. Функции для работы с строками (sprintf, strcpy, strcat, strdup и т.д. ) все добавляют ноль в конце строки.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
LKT_D



Зарегистрирован: 19.11.2004
Сообщения: 14

СообщениеДобавлено: Ср Ноя 24 2004 21:15    Заголовок сообщения: Ответить с цитатой

спасибо что объяснил , просто как сам сказал не везде толком можно прочитать что это такое - это касается абсолютно всего , в большинстве случаев в учебниках пишут мимолетом в 2х словах , а ты сам потом разгребай что за яйца и в профиль они или нет , вот и приходится спрашивать понимаю что может иногда тупо получается но больше спросить неукого , так что извиняйте Wink
_________________
free forever
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...