C++ _popen() change directory ;/

0
char buffer[128];
std::string result = "";
std::shared_ptr<FILE> pipe(_popen(cmd, "r"), _pclose);
if (!pipe) {
	throw std::runtime_error(COMMAND_EXECUTION_FAIL);
}
while (!feof(pipe.get())) {
	if (fgets(buffer, 128, pipe.get()) != NULL) {
		result += buffer;
	}
}

gdy wpisuje dir itd wszystko działa ale jak chce zmienić ścieżkę cd <directory> to nie mogę.. nadal zostaje ta sama. Czy da się cos z tym zrobić?

0

gdy wpisuje dir itd wszystko działa ale jak chce zmienić ścieżkę cd <directory> to nie mogę.. nadal zostaje ta sama. Czy da się cos z tym zrobić?

O co ci chodzi?

0

Jestesmy w folderze main i jest inny folder np client i po wpisaniu komendy cd client ścieżka zostaje taka sama czyli np C:/main a nie C:/main/client

createprocess od winapi odpada ;/

0

QT lub boost.

3

Nie da się bo popen wykonuje jedna komendę w nowym shellu, więc co prawda zmienisz ścieżkę, ale ten shell zostanie zamknięty i tyle go widziałeś. Albo musisz złaczyć komendy w jedną albo wołać co potrzebujesz podając pełna ścieżkę a nie używając cd.

0

no w sumie tak zrobię ;D chciałem się bawić z chdir parsować komendę czy jest tam cd itd ale to się mija z celem ;D

1 użytkowników online, w tym zalogowanych: 0, gości: 1