При создании файла или при его чтении я хочу указать путь таким образом, чтобы не приходилось вводить имя пользователя. Как это делается в 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
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости