C ++:Setenv()。 Visual Studio中未定义的标识符 [英] C++: Setenv(). Undefined identifier in Visual Studio

查看:245
本文介绍了C ++:Setenv()。 Visual Studio中未定义的标识符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

看看我的代码似乎是正确的,根据我可以在网上找到的所有文件。我的IDE是MS Visual Studio Xpress 4 Windows Desktop 2012,它的编译器正在抛出错误:



错误1错误C3861:'setenv' :未找到标识符e:\users\owner\documents\visual studio 2012 \projects\project1\project1\source1.cpp 18 1 Project1



帮助我!!!

  #include< windows.h> 
#include< sstream>
#include< ostream>
#include< cstdlib>
#include< iostream>
#include< stdlib.h>

使用namespace std;

int howManyInClass = 0;
int main(){

long checklength = sizeof(getenv(classSize))/ sizeof(* getenv(classSize));
if(checklength == 0){
cout<<请输入你班上学生的总数;
cin>> howManyInClass;
cin.ignore();
setenv(classSize,howManyInClass,1);}

};


解决方案

您可以使用 _putenv() 它将字符串参数作为字符串 classSize = 7 ;

  ostringstream classSize; 
classSize<<< classSize =<< howManyInClass;
_putenv(classSize.str()。c_str());

...或(最好)安全性增强的 _putenv_s() 将键和值作为单独的(const char *)参数;

  ostringstream classSize; 
classSize<<< howManyInClass;
_putenv_s(classSize,classSize.str()。c_str());


Look my code seems to be correct, according to all the documentation I can find online. My IDE is MS Visual Studio Xpress 4 Windows Desktop 2012, and it's compiler is throwing up the error:

Error 1 error C3861: 'setenv': identifier not found e:\users\owner\documents\visual studio 2012\projects\project1\project1\source1.cpp 18 1 Project1.

Help me!!!

#include <windows.h>
#include <sstream>
#include <ostream>
#include <cstdlib>
#include <iostream>
#include <stdlib.h>

using namespace std;

int howManyInClass = 0;
int main(){

long checklength = sizeof(getenv("classSize"))/sizeof(*getenv("classSize"));
if (checklength==0){
    cout<<"Please enter the ammount of students in your class";
    cin>> howManyInClass;
    cin.ignore();
    setenv("classSize", howManyInClass, 1);}

};

解决方案

You can either use _putenv() which takes a string parameter as the string classSize=7;

ostringstream classSize;
classSize << "classSize=" << howManyInClass;
_putenv(classSize.str().c_str());

...or (preferably) the security enhanced _putenv_s() that takes the key and the value as separate (const char*) parameters;

ostringstream classSize;
classSize << howManyInClass;
_putenv_s("classSize", classSize.str().c_str());

这篇关于C ++:Setenv()。 Visual Studio中未定义的标识符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆