В.NET я пишу
Directory.CreateDirectory(textBox4.Text);
textBox4. Текст ~/myfolder
. То, что я получаю, является папкой в текущем рабочем каталоге, названном ~ с myfolder в нем. Как я сделал, чтобы CreateDirectory создал myfolder в доме пользователя?
Расширение тильды обычно обрабатывается оболочкой (http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_01).
Вы можете сделать что-то вроде bash -c "echo ~/folder"
и получить вывод. Я не знаком с .NET API (или даже с C API), который бы делал это, хотя я должен представить, что он где-то есть.
Беру свои слова обратно - функция glob()
на языке C (в Linux) принимает флаг GLOB_TILDE
для выполнения такого расширения.