При создании файла или при его чтении я хочу указать путь таким образом, чтобы не приходилось вводить имя пользователя. Как это делается в 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
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть проект на C#, использующий Entity Framework Code First
Работаю с опытным образцом микроконтроллера, поэтому программами типа Flash- magic заливать не получаетсяФирма- создатель прислала кривую- косую...