Wygląda na to, że to pytanie jest dość proste, ale nie mogę znaleźć jasnego rozwiązania do kopiowania plików w języku C bez zależności od platformy.Jak mogę skopiować pliki w języku C bez zależności od platformy?
Użyłem wywołania system() w moim projekcie open source do tworzenia katalogu, kopiowania plików i uruchamiania programów zewnętrznych. Działa bardzo dobrze w systemie Mac OS X i innych systemach Unix-ish, ale zawiedzie w systemie Windows. Problemem było:
system("cp a.txt destination/b.txt");
- Windows używa backslashy do separatora ścieżki. (w porównaniu z ukośnikami w Uniksie)
- System Windows używa "kopii" dla polecenia kopiowania wewnętrznego. (vs cp w systemie Unix-ish)
Jak mogę napisać kod kopiowania bez zależności?
(Faktycznie, pisałem makra, aby rozwiązać ten problem, ale to nie jest cool. http://code.google.com/p/npk/source/browse/trunk/npk/cli/tests/testutil.h, L22-56)
Problem nie jest zwisające na „kopiowanie” jak wspomniałem powyżej. – lqez