Цитата(Void @ 13.1.2006, 23:25 ) | Если нужно не под винды, то не знаю, честно говоря
|
Хорошо бы под любую операционную систему Пока у меня такой код - может, кому пригодится:
Код | #include <iostream> #include <string> #include <vector> #include <map>
using namespace std;
map<string, string> env_vars;
vector<string> explode(char sep, string st) { int old_pos=0, pos=0; vector<string> res;
while ((pos = st.find_first_of(sep, old_pos)) != -1) { res.push_back(st.substr(old_pos, pos-old_pos)); old_pos = pos + 1; }
res.push_back(st.substr(old_pos)); return res; }
int get_env(char **env) { vector<string> pair(2); int num_of_vars = 0;
while (*env) { num_of_vars++; pair = explode('=', *env); env_vars[pair.at(0)] = pair.at(1); env++; } return num_of_vars; }
int main(int argc, char *argv[], char *env[]) { get_env(env);
cout << env_vars["OS"]; /* у меня выводит "Windows_NT" */
return 0; } |
|