c ++当我将一个字符串转换为int时,int只是一个随机数?

Ant*_*ien 1 c++ string int

所以我有一个编辑值的函数,但我在main中查看值,看它输出1309668848并在每次运行程序时更改.(这在预处理器中没有发生).我一直在努力解决这个问题,并决定来这里寻求建议.

这是功能.

void GetDahInt() {
    std::string NewValueS;
    getline(std::cin, NewValueS);
    NewValue = (int)NewValueS.c_str();
}
Run Code Online (Sandbox Code Playgroud)

XZ6*_*Z6H 5

您可以使用

std::stoi( str )
Run Code Online (Sandbox Code Playgroud)

丢弃任何空白字符(通过调用isspace()标识),直到找到第一个非空白字符,然后获取尽可能多的字符以形成有效的base-n(其中n = base)整数表示并将它们转换为整数值.

资料来源:stoi的文件