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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DiffEreD
 Аватар для DiffEreD
1425 / 762 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
#1

PATH в string - C++

14.06.2013, 22:11. Просмотров 391. Ответов 1
Метки нет (Все метки)

Собственно, вопрос, - как загнать данные с системного PATH в string? Надо получить такие же данные как при вводе set PATH в консоли.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2013, 22:11     PATH в string
Посмотрите здесь:

Отличие string и String C++
Переменная окружения PATH C++
C++ PATH
string = define + string ; C++
C++ переменная среды path.
PATH для MinGW C++
Правильно ли настроена PATH? C++
Добавить mingw в среду path C++
Описать класс Path C++
Исправить ошибку в Code::Blocks: Couldn't save project <invalid path> C++
C++ Boost search recursive Al Drewes odds with files PATH, a specificity extension
Преобразование string* в string C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Форумчанин
Эксперт С++
 Аватар для Kastaneda
4253 / 2785 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 1
14.06.2013, 22:26     PATH в string #2
Цитата Сообщение от DiffEreD Посмотреть сообщение
как загнать данные с системного PATH в string?
Пример первый, правильный (взят с cplusplus.com)
C++
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>      /* printf */
#include <stdlib.h>     /* getenv */
 
int main ()
{
  char* pPath;
  pPath = getenv ("PATH");
  if (pPath!=NULL)
    printf ("The current path is: %s",pPath);
  return 0;
}
Пример второй, неправильный - можно воспользоваться перегруженной (в несоответствии со стандартом) версией функции main, которая 3им параметром принимает массив указателей на environment variables. Такая версия мэйна есть не во всех компиляторах.
Вот пример состряпал, проверял в 12ой студии
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
 
std::string getPath (char **env)
{
    while (*env) {
        std::string env_val(*env);
        if (env_val.find("PATH") == 0) {
            return env_val;
        }
 
        ++env;
    }
 
    return "PATH not found";
}
 
int main(int argc, char **argv, char **env)
{
    std::cout << getPath(env) << std::endl;
}
Yandex
Объявления
14.06.2013, 22:26     PATH в string
Ответ Создать тему
Опции темы

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