Несколько вопросов по C/C++ (непосредственно для Linux)
Модератор: Модераторы разделов
Несколько вопросов по C/C++
В общем я неплохо знаю Паскаль, но решил изучить эти языки.
Взялся писать программку на С++, вроде все понятно, НО пришлось перейти на чистый С, потому что не нашел, как в С++ создавать каталог (в С просто mkdir). Но в С столкнулся с проблемами:
1) Какой аналог "&" в С? т.е. я пришу void blabla (int &i) и он это не понимает.
2) Как преобразовать число в строку. Что уже только не пробывал, не получается. На itoa говорит, что не знает такого, и в stdlib.h его нет
Ну вроде пока все. Прошу ответить.
За ранее спасибо!
Взялся писать программку на С++, вроде все понятно, НО пришлось перейти на чистый С, потому что не нашел, как в С++ создавать каталог (в С просто mkdir). Но в С столкнулся с проблемами:
1) Какой аналог "&" в С? т.е. я пришу void blabla (int &i) и он это не понимает.
2) Как преобразовать число в строку. Что уже только не пробывал, не получается. На itoa говорит, что не знает такого, и в stdlib.h его нет
Ну вроде пока все. Прошу ответить.
За ранее спасибо!
Re: Несколько вопросов по C/C++
1.
foo (int &i) в C не пашет
use pointers
2.
#include <stdlib.h>
strtol
Добавлено:
А вообще фраза "в C++ не пашет mkdir а в C пашет" весьма странна.
Синтаксис С++ на таком уровне совместим с С. (Ессно если есть возможность пересобрать прогу)
foo (int &i) в C не пашет
use pointers
2.
#include <stdlib.h>
strtol
Добавлено:
А вообще фраза "в C++ не пашет mkdir а в C пашет" весьма странна.
Синтаксис С++ на таком уровне совместим с С. (Ессно если есть возможность пересобрать прогу)
В каждом из нас спит гений... и с каждым днем все крепче...
Re: Несколько вопросов по C/C++
(flook @ Среда, 13 Октября 2004, 16:56) писал(а):1.
foo (int &i) в C не пашет
use pointers
2.
#include <stdlib.h>
strtol
Добавлено:
А вообще фраза "в C++ не пашет mkdir а в C пашет" весьма странна.
Синтаксис С++ на таком уровне совместим с С. (Ессно если есть возможность пересобрать прогу)
"в C++ не пашет mkdir а в C пашет" - это не моя фраза Я не говорил, что в С++ не пашет, просто я не нашел ее там (по крайней мере подключал то же, что и в С, а mkdir он так и не понял)
На счет (1) - можешь пример привести, честно говоря не въехал...
Возник еще один вопрос:
3) Есть ли какая-то возможнотсь вывести список директорий в какой-то папке (которую я указываю). Я так понял, надо копать в сторону opnedir и readdir, но пока что-то не вкуривается
На счет strtol:
long strol(nptr,endptr,base); преобразует строку в long десятичное целое, эквивалентное числу с данным основанием base.
А надо наоборот int в str...
Re: Несколько вопросов по C/C++
1)
3)
DIR *d = opendir(char *name) - вернет DIR*
int fd = dirfd(DIR *d) - вернет дескриптор
getdents(int fd, ...) - вернет список директорных записей (имен файлов и поддиректорий)
4) int в str сААвсем просто:
Код: Выделить всё
void foo (int *x)
{
*x = 10;
}
...
int i;
foo(&i);
/* now i = 10 */
3)
DIR *d = opendir(char *name) - вернет DIR*
int fd = dirfd(DIR *d) - вернет дескриптор
getdents(int fd, ...) - вернет список директорных записей (имен файлов и поддиректорий)
4) int в str сААвсем просто:
Код: Выделить всё
sprintf(str, "%d", i);
В каждом из нас спит гений... и с каждым днем все крепче...
Re: Несколько вопросов по C/C++
1) Уже сам вчера со знакомым разобрался, но все равно спасибо!!!
2) Вооо!!! То что надо Сегодня буду пробовать
3) Ага, отлично, а я через gcvt перевел
Большое спасибо!!!
Теперь буду знать, куда вопросы задавать
Кстати, не посоветуешь какую-нибудь книжку "для начинающих" по С именню для *nix?
Добавлено:
getdents - оно точно в Си есть? Что-то не находит он его :'(
Может оно только в C++?
2) Вооо!!! То что надо Сегодня буду пробовать
3) Ага, отлично, а я через gcvt перевел
Большое спасибо!!!
Теперь буду знать, куда вопросы задавать
Кстати, не посоветуешь какую-нибудь книжку "для начинающих" по С именню для *nix?
Добавлено:
getdents - оно точно в Си есть? Что-то не находит он его :'(
Может оно только в C++?
Re: Несколько вопросов по C/C++
Я бы предложил А. Робачевского "Программирование в UNIX" - отличная книга.
I am in shape. Round is a shape.
Re: Несколько вопросов по C/C++
(Keeper @ Пятница, 15 Октября 2004, 16:25) писал(а):Может оно только в C++?
Что за странные вопросы?
man getdents грит что он есть.
Все. Натравливай gccна свое дерево - он сам разберется где у тя С где С++
В каждом из нас спит гений... и с каждым днем все крепче...
Re: Несколько вопросов по C/C++
[lex@BlackStar lex]$ man getdents
No manual entry for getdents
Причем, попробывал в C++ тоже не понимает Что-то не везет мне сегодня...
Добавлено:
И зачем мне gcc натравливать, если я в KDevelop Он мне и так пишет, что не знаю я такой функции...
Добавлено:
Еще один вопрос вспомнил - модно ли как-то в Си отчистить консоль? Т.е. я хочу, чтобы при запуске моей проги, консоль отчищалась и приветствие моей программы появлялос ьв чистой консоли на первой строке
No manual entry for getdents
Причем, попробывал в C++ тоже не понимает Что-то не везет мне сегодня...
Добавлено:
И зачем мне gcc натравливать, если я в KDevelop Он мне и так пишет, что не знаю я такой функции...
Добавлено:
Еще один вопрос вспомнил - модно ли как-то в Си отчистить консоль? Т.е. я хочу, чтобы при запуске моей проги, консоль отчищалась и приветствие моей программы появлялос ьв чистой консоли на первой строке
Re: Несколько вопросов по C/C++
кстати, кто-нибудь видел табличку соответствия вывода графики в ДОСе и Юникс ?
подумал -> выпил -> подумал -> ... но недавно врачи запретили пить.
Re: Несколько вопросов по C/C++
Самая лучшая книжка по С - "Б. Керниган, Д. Ритчи, Язык программирования Си".
Аркона – лишь тихие воды,
Кровью варяжской янтарь в них застыл.
Аркона – там ветер со взморья
В трещинах скал своё сердце забыл.
Темнозорь - Аркона (Вольницей В Просинь Ночей - 2005)
Кровью варяжской янтарь в них застыл.
Аркона – там ветер со взморья
В трещинах скал своё сердце забыл.
Темнозорь - Аркона (Вольницей В Просинь Ночей - 2005)
Re: Несколько вопросов по C/C++
нет... это совсем не модно.... просто представь, что вывод идет не на экран, а, скажем, на матричный принтер... как ты себе представляешь очистку в данном случае? сжечь уже отпечатаную часть бумаги?модно ли как-то в Си отчистить консоль? Т.е. я хочу, чтобы при запуске моей проги, консоль отчищалась и приветствие моей программы появлялос ьв чистой консоли на первой строке
слава роботам!
Re: Несколько вопросов по C/C++
elide
Очепятка Модно - можно...
И при чем тут принтер?
Просто я читал, что в curses.h есть какая-то очистка. И ведь многи проги при запуске очищают все, что было перед ними...
Очепятка Модно - можно...
И при чем тут принтер?
Просто я читал, что в curses.h есть какая-то очистка. И ведь многи проги при запуске очищают все, что было перед ними...
Re: Несколько вопросов по C/C++
о чём это ты? Какой графики и кто кому должен соответствовать? (что-то я временами совсем не понимаю, что ты хочешь сказать )(D.W. @ Суббота, 16 Октября 2004, 11:35) писал(а):кстати, кто-нибудь видел табличку соответствия вывода графики в ДОСе и Юникс ?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Несколько вопросов по C/C++
о чём это ты? Какой графики и кто кому должен соответствовать? (что-то я временами совсем не понимаю, что ты хочешь сказать
не нужно пытаться меня понять, нужно просто принять таким какой наличиствует .
а имелись в виду досовские менюшки (черезе gotoxy, clearscrn() и прочее).
подумал -> выпил -> подумал -> ... но недавно врачи запретили пить.
Re: Несколько вопросов по C/C++
А вот и ты меня не понял. Я не пытался _тебя_ понять, я пытался понять, что ты хочешь сказать.(D.W. @ Понедельник, 18 Октября 2004, 12:37) писал(а):не нужно пытаться меня понять, нужно просто принять таким какой наличиствует
Так ты про псевдографику? Тут никакой "таблички соответствия" не может быть по определению, т.к. между всеми остальными символами, кроме псевдографических, при чисто текстовом выводе всегда остаётся просвет в онду точку -- это аппаратное свойство VGA, которое ничем не лечится. Думаешь, зачем всюду, куда ни глянь, консоли со вводом в коях и выводом в досовской кодировке?(D.W. @ Понедельник, 18 Октября 2004, 12:37) писал(а):а имелись в виду досовские менюшки (черезе gotoxy, clearscrn() и прочее).
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Несколько вопросов по C/C++
А вот и ты меня не понял. Я не пытался _тебя_ понять, я пытался понять, что ты хочешь сказать.
нет, и опять ты меня не понял .
Так ты про псевдографику? Тут никакой "таблички соответствия" не может быть по определению, т.к. между всеми остальными символами, кроме псевдографических, при чисто текстовом выводе всегда остаётся просвет в онду точку -- это аппаратное свойство VGA, которое ничем не лечится. Думаешь, зачем всюду, куда ни глянь, консоли со вводом в коях и выводом в досовской кодировке?
а как насчет mc?
подумал -> выпил -> подумал -> ... но недавно врачи запретили пить.
Re: Несколько вопросов по C/C++
Насколько я знаю, он тоже рисует всё в досовской кодировке.(D.W. @ Понедельник, 18 Октября 2004, 15:12) писал(а):а как насчет mc?
Конечно, если консоль графическая (фреймбуфер, xterm), то там можно и на других местах эти символы нарисовать. Но в текстовом режиме никак.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Несколько вопросов по C/C++
и через что это реализуется - с смысле функций-хейдеров ?
подумал -> выпил -> подумал -> ... но недавно врачи запретили пить.
Re: Несколько вопросов по C/C++
Еще пару вопросов появилось:
1) Как узнать имя пользователя и запихнуть его в char?
2) Как узнать homrdir этого пользователя и тоже запихгуть в char?
1) Как узнать имя пользователя и запихнуть его в char?
2) Как узнать homrdir этого пользователя и тоже запихгуть в char?
Re: Несколько вопросов по C/C++
на вскидку :
1.getuid() - узнать уид запустившего пользователя.
1.getuid() - узнать уид запустившего пользователя.
подумал -> выпил -> подумал -> ... но недавно врачи запретили пить.
Re: Несколько вопросов по C/C++
2Keeper
2 D.W.
Возможно, тут нужно сначала выбрать библиотеку: ncurses или slang например,
а потом уже искать соответствия.
Код: Выделить всё
#include <stdlib.h>
int main() {
char *home = getenv("HOME");
char *username = getenv("USER");
//.......
return 0;
}
2 D.W.
Возможно, тут нужно сначала выбрать библиотеку: ncurses или slang например,
а потом уже искать соответствия.
Ni Ansa
My LJ: Журнал мечтательного биофизика
My LJ: Журнал мечтательного биофизика
Re: Несколько вопросов по C/C++
brazhe
Спасибо, сегодня посмотрю
Спасибо, сегодня посмотрю