Програмирование в Linux на C++
Доброго времени суток!!
Вопрос как в Linux'e пользоваться оператором read, open, fopen.То есть их синтаксис,
иесли можете приведите текст рабочей программы.
Заранее благодарен!
За последние 60 дней ни разу не выходила
Сайт листа:
http://www.linuxrsp.ru
Открыт:
25-07-2003
Пре-модерация: Нет
Адрес для писем в лист: comp.soft.linux.discuss-list@subscribe.ru
Адрес
модератора: comp.soft.linux.discuss-owner@subscribe.ru
Доброго времени суток!!
Вопрос как в Linux'e пользоваться оператором read, open, fopen.То есть их синтаксис,
иесли можете приведите текст рабочей программы.
Заранее благодарен!
i586-PoltawerKozak-linux-gnu)
On Fri, 6 Jan 2006 20:34:03 +0300
Roman I Khimov <rik@o*****.info> wrote:
а также
man 2 intro
man 3 intro
-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 23532; Возраст листа: 898; Участников: 1471
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/498652
On Fri, 6 Jan 2006 20:25:45 +0300 (MSK)
"Soft-Drom" <Soft-Drom@y*****.ru> wrote:
А ман не поможет отцу русской демократии? Обычно там и примерчики бывают, если
что-то хитрое. Также см. мой пост про трубопроводы.
Не множко по шевелив мозгами я на писал это:
#include <stdio.h>
#define STRLEN 80 // Длина строки
void main( void )
{
FILE *file; // Объявляем указатель на файл
char string[STRLEN]; // Массив на STRLEN символов
file = fopen("sample.txt","w");
// Записываем строку в файл
fprintf(file,"ЛАЛАЛАЛАЛАЛАЛАЛАЛАЛАЛАЛА\n.");
fclose(file); // Закрываем файл
// Открываем текстовый файл для чтения
file = fopen("sample.txt","r");
// Читаем из файла строку
fgets(string,STRLEN,file);
// Закрываем файл
fclose(file);
// Выводим строку на экран
printf("%s\n",string);
}
НО это считывает только превую строку может подскажете как сделать так что бы
считывальсь все строки файла.
Заранее благодарен!!!!!!!
-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 23490; Возраст листа: 896; Участников: 1474
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/498042
6 января 2006 22:07 | Soft-Drom:
Открыли и обнулили файл, записали одну строчку.
Открыли файл, прочитали одну строчку.
А других строчек в файле и нет! :) Вы ж туда одну пишете? Вот и имеете одну.
Другое дело, что даже если их было бы несколько, прочитали бы Вы все равно
одну, поскольку алгоритм у Вас такой в программе описан. А можно сделать
цикл, в котором последовательно читать и выводить строчки до тех пор, пока
не
fgets() return NULL on error or when end of file occurs while no characters
have been read.
Я намеренно не пишу кода, думаю, Вы сами с удовольствием в этом разберетесь.
И советую притарить все-таки какую-нибудь хорошую книжку по C (ну или
поискать в Сети). :) Или попробовать начать программировать на более
высокоуровневых и менее запутанных языках, тот же Python, например.
Собственно, здесь это уже даже маленько оффтопик, это начала
программирования (и даже не специфичные относительно ОС), есть
соответствующие листы. :)
On Fri, 6 Jan 2006 22:07:50 +0300 (MSK)
Soft-Drom wrote:
Я не силе в C, но
1) циклы еще никто не отменял.
2) это вопрос скорее для конференции по С, а не по linux. Разве
функции stdio имеют значительные отличия в разных ОС?
и наконец,
3) это был код на C, а не на C++. В С++ другая система ввода-вывода.
On Fri, 6 Jan 2006 22:07:50 +0300 (MSK)
"Soft-Drom" <Soft-Drom@y*****.ru> wrote:
-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 23503; Возраст листа: 897; Участников: 1474
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/498133
while(fgets(string,STRLEN,file))
вроде так
-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 23504; Возраст листа: 897; Участников: 1474
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/498134
В сообщении от 1136578070 секунд после начала Эпохи Soft-Drom написал(а):
while (fgets(string,STRLEN,file)) {
// Выводим строку на экран
printf("%s",string);
}
бы
while(fgets(string,STRLEN,file))
вроде так
-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 23505; Возраст листа: 897; Участников: 1474
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/498136
while(fgets(string,STRLEN,file))
вроде так
-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 23499; Возраст листа: 896; Участников: 1474
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/498096
6 января 2006 20:25 | Soft-Drom:
read(), open() и fopen() - это не C++, это C. В C++ стоит изучить потоковые
классы ({f,if,of}stream и прочие) и использовать только их. Плюс к этому,
read, open и fopen - не операторы, а функции. По ним можно почитать
man 2 read
man 2 open
man 3 fopen