Для C/C++, похоже, нет никакой переносимой функции для получения имени пользователя в Linux/Posix и Windows. Что было бы наименее громоздким и все же надежным портативным кодом для этого?Портативный способ получить имя пользователя
В Linux переменная окружения USER, как представляется, всегда определяется, тогда как Windows, похоже, определяет переменную USERNAME. Опираясь на GetEnv можно избежать в том числе windows.h и свести к минимуму заявления препроцессора:
char * user_name = getenv("USER");
if (!user_name) {
user_name = getenv("USERNAME");
}
Но такой подход наполовину надежный? Или я не знаю другого решения? И я также не знал о iOS ...
Посмотрите: http://stackoverflow.com/questions/8953424/get-user-name-c-linux –