隐藏英雄 发表于 2022-12-24 20:15

C++ 求解

本帖最后由 隐藏英雄 于 2022-12-26 11:07 编辑


如图 我想在自定义函数中 改变全局变量的值,即使自定义函数走完以后 这个变量的值还是不会改变,直到下次被重新修改!应该怎么写呢?

苏紫方璇 发表于 2022-12-24 21:16

strcpy(str,"默认网关")

ibilibili 发表于 2022-12-24 20:19

this.str=""
试试

ibilibili 发表于 2022-12-24 20:20

或者试试
str=""

隐藏英雄 发表于 2022-12-24 20:21

ibilibili 发表于 2022-12-24 20:19
this.str=""
试试

隐藏英雄 发表于 2022-12-24 20:23

ibilibili 发表于 2022-12-24 20:20
或者试试
str=""

表达式必须是可修改的左值。试过了

ibilibili 发表于 2022-12-24 20:24

如果是为了调用findstr()需要用到这个str的话可以写成传参
char Findstr(char* str);
char str="xxxx";
Findstr(str);

ibilibili 发表于 2022-12-24 20:26

看看这个有帮助吗https://m.jb51.net/article/222731.htm

隐藏英雄 发表于 2022-12-24 20:29

ibilibili 发表于 2022-12-24 20:24
如果是为了调用findstr()需要用到这个str的话可以写成传参
char Findstr(char* str);
char str=" ...


char CShowDlg::m_TestDiver()   //这个函数中需要调用FindStr();函数,
{
        system("ipconfig > C:\\ip.t");
        //const char* ::str = nullptr;
        this.str = "默认网关";
        FindStr();//这个函数里面有一个str,在调用这个函数的时候 需要给str赋值,这个值仅是在这里调用的时候使用, 其他地方再调用FindStr(); 的话又是另外一个值

        return 0;
}

ibilibili 发表于 2022-12-24 20:29

或者用string试试。。。

zfl 发表于 2022-12-24 20:53

全局变量的值被修改后一直不变,你这个str定义的不是全局变量,这是局部变量
页: [1] 2
查看完整版本: C++ 求解