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

PATH в string - C++

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

C++ PATH
C++ переменная среды path.
C++ Как используя C-String а потом и String class варьировать вывод?
PATH для MinGW C++
Правильно ли настроена PATH? C++
Описать класс Path C++
C++ Идентификатор string не определён при наличии #include <string>
C++ Какое одинаковое значение можно вернуть из функций <string> f () и vector < <string> > f()?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 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
Ответ Создать тему
Опции темы

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