Widziałem kilka postów związanych z moim pytaniem, ale żaden nie dotyczył tego całkowicie. Potrzebuję utworzyć plik w standardowym katalogu tymczasowym i po zakończeniu pisania go, przenieś go do innej lokalizacji. Chodzi o to, że plik jest uważany za tymczasowy podczas pobierania i trwały po zakończeniu pobierania.Jak uzyskać tymczasową nazwę pliku?
Próbuję tego, dzwoniąc pod numer mkstemp lub tmpfile, a następnie rename po zakończeniu pisania. Potrzebuję jednak pełnej ścieżki pliku, aby wywołać zmianę nazwy i najwyraźniej pobranie nazwy pliku z deskryptora pliku (zwróconego przez mkstemp) lub FILE * (zwróconego przez tmpfile) nie jest trywialnym procesem. Można to zrobić, ale nie jest elegancko.
Czy jest wywołanie systemowe, które utworzy plik tymczasowy i poda mi nazwę? Wiem o mktemp i związanych z nim połączeniach, ale nie gwarantują one, że będą unikatowe lub przestarzałe. A może jest lepszy sposób na tworzenie, pisanie i przenoszenie plików tymczasowych.
Masz rację, i muszę być bardziej dokładny, kiedy czytam dokumentację. Zadzwoń do mnie OCD, ale użyłem informacji na [ten post] (http://stackoverflow.com/questions/4790471/how-can-i-get-the-temporary-directory-path-in-ubuntu), aby uzyskać folder tymczasowy zamiast zwykłego kodowania "/ tmp"; – jorgander
Jeśli tworzysz plik w/tmp /, a następnie planujesz przenieść plik do określonej lokalizacji powiedz "/ home//to zajmie dużo czasu, aby cp lub przenieść i będzie jeszcze gorsze, jeśli/tmp i/home/znajdowały się w innym obszarze partycji, więc lepiej utwórz plik w/home//fileXXXXX i zmień jego nazwę na/home//file: –
Viswesn
Jaka jest nazwa pliku końcowego? –