Форум программистов, компьютерный форум CyberForum.ru

Адрес до рабочего стола - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ scanf и перевод каретки http://www.cyberforum.ru/cpp-beginners/thread678305.html
Конструкция вида scanf("%d\n", &uintgr); позволительна и перевод каретки уйдет. Однако scanf("%u\n", &uintgr); не уберет каретку, а сделает ещё хуже. Нужно будет ввести два числа. Второе останется в буфере. Откуда, как и почему?
C++ Перевести текст на c++ program Array128; var a: array of integer; B: array of integer; C: array of integer; temp,M,N,i,j:integer; begin writeln('Введите N (N<=20)'); readln(N); writeln('Значения массива А'); http://www.cyberforum.ru/cpp-beginners/thread678247.html
Проверка на правильность ввода с клавиатуры C++
Здравствуйте! задача: пользователь вводит с клавиатуры цифру, нужно проверить что пользователь действительно ввел цифру, а не букву, знак или сочетание вышесказанного (db, 24d, 2k5) вот на чем я остановился int n; bool exit; cin>>n;
работа с указателями C++
Как ПРАВИЛЬНО передать в функцию, массив, используя адресацию? Программа находит в массиве слово и перед ним вставляет какое то слово, то есть в строчке "This is a small string" программа должна найти слово "small" и перед ним вставить слово "very". #include <iostream> #include <conio.h> #include <cstring> using namespace std; void proc(char* a,char* b,char* c,char* d)
C++ Дан массив из прототипов функций или указателей на функцию, сделать функцию, возвращающую этот массив http://www.cyberforum.ru/cpp-beginners/thread678212.html
Не охота создавать лишнею тему извиняюсь заранее Вопрос такой Можете подсказать есть массив из прототипов функций или указателей на функцию как сделать функцию возвращающею этот массив char* function() {
C++ Трехмерная точка Всем здравствуйте! Нужна программка. Что есть: Код структуры описывающей трехмерную точку { double x; double y; double z; }; struct stLine3D { stPoint3D PB; stPoint3D PE; подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,390
24.10.2012, 06:48     Адрес до рабочего стола
Egor138, %username% - это переменная окружения, которая автоматически интерполируется (расширяется) в строках командным процессором.

С точки зрения языка C++ "%username%" - это обычная строка, которая не имеет особой интерпретации. Для того, чтобы получить значение переменной окружения, в C/C++ используется функция getenv из stdlib.h (C) или cstdlib (С++):

C
1
2
3
4
5
6
7
8
#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
    puts(getenv("username"));
    exit(0);
}
Так что тебе нужно получить строку-значение соответствующей переменной окружения, а потом уже сконструировать строку пути. Но следует отметить, что значение переменной окружения не всегда может быть доступно, и в этом случае getenv возвращает NULL.

Не по теме:

Цитата Сообщение от HomeR_J_SimpsoN Посмотреть сообщение
Если Вам нужно использовать конкретную переменную попробуйте получить ее командой из консоли. Что то вроде system('command');. Где command -- команда получения имени пользователя.
Но при этом придется перехватить выходной поток команды system(). Придется помучиться. А может и нет =)
Проще прописать %username% в батнике при инсталляции приложения и юзать его.
А вот и костылями запахло



PS. Windows понимает прямые слэши в путях.
 
Текущее время: 10:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru