On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Пост N: 703
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 20.08.25 15:40. Заголовок: unistd.h


Приветствую ! Запускаю свое прогу на Linuxe под wine(portproton) Мне нужно узнать текущую паку. Есть стандартный запрос
#include <stdio.h>
#include <unistd.h>

int main() {
char cwd[1024];
if (getcwd(cwd, sizeof(cwd)) != NULL) {
printf("Current working directory: %s\n", cwd);
} else {
perror("getcwd() error");
return 1;
}
return 0;
}
Однако, что бы скомпилиться мне нужен файл unistd.h. А где взять ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 9 [только новые]


moderator


Пост N: 1645
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.08.25 16:47. Заголовок: Если вы запускаете п..


Если вы запускаете под wine, значит программа компилируется под Windows? В этом случае вместо unistd.h дожен быть direct.h
unistd.h - стандартный заголовочный файл в Линуксовом gcc. Если gcc установлен, то и unistd.h есть. Но это в том случае, если вы компилируете программу под Линуксом.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 705
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 20.08.25 17:23. Заголовок: Благодарю ! Есть так..


Благодарю ! Есть такой. Тогда я неправильно описываю функцию. Что это за третий интовый параметр у прототипа(_getdcwd) ?
#pragma BEGINDUMP
#include <windows.h>
#include <hbapi.h>
#include <direct.h>

HB_FUNC( GETCWD )
{
char cwd[1024] ;
if (_getdcwd(cwd, sizeof(cwd)) != NULL) {
hb_retc(cwd);
hb_xfree(cwd);
}
#pragma ENDDUMP

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 706
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 20.08.25 17:44. Заголовок: Сделал..


Сделал

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 707
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 21.08.25 13:25. Заголовок: Александр, подскажит..


Александр, подскажите пожалуйста

1. как можно узнать домашний каталог юзера ? getenvv("HOME") вернет пусто ( могу узнать только имя юзера getenv("USER") ?
2. как из запустить скриптовый файл (под виндами я строю .bat файл и запускаю через Shell:Run А как в Linuxe, там же нет cmd) ?

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1646
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.08.25 16:06. Заголовок: Давайте определимся,..


Давайте определимся, мы говорим про непосредственно Линукс или про wine? Если про wine, то делать все надо как под Windows

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 708
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 22.08.25 13:56. Заголовок: Прога на FW Запускаю..


Прога на FW Запускаю в Wine. Папку профиля юзера увидеть не могу. Пробовал
lIsDir("C:\Users\"+WNetGetUsers()) ->.F.

или

lIsDir("C:\Users\"+getenv("USER"))) ->.F.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1649
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.08.25 16:10. Заголовок: Если вы под wine, за..


Если вы под wine, забудьте, что вы в Линуксе, используюте Windows методы.
Переменные окружения: USERPROFILE, HOMEDRIVE, HOMEPATH.
Ну и батник запускайте как обычно это делаете под Windows. В Линуксе нет cmd, а в wine - должен быть

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 709
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 27.08.25 14:57. Заголовок: Можно ли из FW прогр..


Можно ли из FW программы запущенной под Wine запустить линуксовый терминал и выполнить в нем скрипт ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 63
Зарегистрирован: 06.03.24
ссылка на сообщение  Отправлено: 19.09.25 15:24. Заголовок: fil пишет: Можно ли..


fil пишет:

 цитата:
Можно ли из FW программы запущенной под Wine запустить линуксовый терминал и выполнить в нем скрипт ?



Попробуй

#include <windows.h>

int main(void) {
WinExec("gnome-terminal -- bash -c \"/home/username/myscript.sh; exec bash\"", SW_SHOWNORMAL);
return 0;
}
или
#include <windows.h>

int main(void) {
// Открыть терминал и выполнить скрипт
ShellExecute(NULL, "open",
"gnome-terminal",
"-- bash -c \"/home/username/myscript.sh; exec bash\"",
NULL,
SW_SHOWNORMAL);

return 0;
}

или CreateProcess

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 222
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет