Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Odpowiedniki funkcji chdir oraz getcwd

Ostatnio zmodyfikowano 2016-03-04 15:32
Autor Wiadomość
C-Objective
Temat założony przez niniejszego użytkownika
Odpowiedniki funkcji chdir oraz getcwd
» 2016-01-27 16:25:22
Witam. Poszukuję odpowiednika funkcji _chdir() i _getcwd() dla DOS.
Może mnie ktoś nakierować?
P-144065
darko202
» 2016-01-28 15:23:41
może chodzi Ci o
"

Kontrola katalogu
_mkdir, _wmkdir
_rmdir, _wrmdir
system, _wsystem
"
info z
https://msdn.microsoft.com​/pl-pl/library/bf7fwze1.aspx

podobnie_getcwd() z 
https://msdn.microsoft.com​/pl-pl/library/sf98bd4y.aspx
P-144109
jankowalski25
» 2016-02-04 22:49:31
P-144475
C-Objective
Temat założony przez niniejszego użytkownika
» 2016-02-06 13:48:57
Po pierwsze, darko202 winapi != DOS API.
jankowalski25, skompiluj ten kod, i zobacz gdzie ci stworzyło plik;
C/C++
#include <stdlib.h>
#include <stdio.h>
int main() {
    system( "cd test" );
    FILE * test = fopen( "TESTING.TXT", "w" );
    fclose( test );
    return 0;
}
Sprawa oczywista, w miejscu gdzie program był uruchomiony.
P-144544
mateczek
» 2016-02-06 14:32:29
Po pierwsze, darko202 winapi != DOS API.

DOS chyba nie miał API były przerwania programowe!!!!
P-144546
jankowalski25
» 2016-02-06 16:44:28
@C-Objective Co zwraca funkcja » standard Csystem?
P-144548
C-Objective
Temat założony przez niniejszego użytkownika
» 2016-02-08 15:48:26
Zwraca wartość typu int, "Po zakończeniu wykonywania polecenia system operacyjny oddaje kontrolę programowi, zwracając liczbę całkowitą, która informuje czy wywołanie polecenia się powiodło".
Funkcja system działa najprawdopodobniej tak, że po wywołaniu komendy zatrzymuje interpreter.
P-144599
jankowalski25
» 2016-02-08 19:27:39
Zwraca wartość typu int
Ile ona wynosi?
informuje czy wywołanie polecenia się powiodło
Nie dostałeś przypadkiem żadnych błędów? Samo polecenie wklepane w terminalu powinno zadziałać, ale w tym kodzie, który podajesz, może z różnych powodów nie zadziałać.

//edit:

Strzelam, że robisz coś w tym stylu:
1. Wywołujesz funkcję system.
2. Kod przekazany do tej funkcji zostaje wykonany niezależnie od programu, który ją wywołał.
3. Pomocniczy element zostaje zamknięty (ale to tam nastąpiła zmiana katalogu, więc wszystko zostaje utracone).
4. Twój program wykonuje się dalej, natomiast zmiana katalogu jest lokalnym efektem ubocznym i nie występuje w głównym programie.
If command is not a null pointer, it causes undefined behavior.
Wniosek: nie używaj funkcji system, jeśli chcesz jej przekazać cokolwiek innego, niż
NULL
. Nie masz żadnej gwarancji, że kod funkcji system będzie w jakikolwiek sposób powiązany z Twoim programem (masz sporą szansę na to, że zostanie wykonany niezależnie).
P-144607
« 1 » 2
  Strona 1 z 2 Następna strona