При создании файла или при его чтении я хочу указать путь таким образом, чтобы не приходилось вводить имя пользователя. Как это делается в windows: C:\Users\%USERNAME%\Documents\users.xml
Но программа не понимает что такое %USERNAME%. Как решить эту проблему? Я хочу, чтобы программа запускалась на других компьютерах и хранила файл конкретно в данной папке
На C# это делается так.
// получить правильный путь к документам текущего пользователя
var docFolder = Environment.GetFolderPath(
Environment.SpecialFolder.MyDocuments,
Environment.SpecialFolderOption.Create);
// добавить имя файла с учётом системно-зависимого разделителя
var path = Path.Combine(docFolder, "users.xml");
Если надо в общем случае раскрыть переменные окружения, используйте Environment.ExpandEnvironmentVariables
. Но не забывайте, что домашний каталог текущего пользователя может храниться вовсе не в C:\Users\
.
Переменная среды, хранящая путь к профилю текущего пользователя называется USERPROFILE
, поэтому вам нужен путь: %USERPROFILE%\Documents\users.xml
На википедии есть перечень некоторых переменных среды: Переменная среды Windows
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть проект на C#, использующий Entity Framework Code First
Работаю с опытным образцом микроконтроллера, поэтому программами типа Flash- magic заливать не получаетсяФирма- создатель прислала кривую- косую...