相关疑难解决方法(0)

如何将std :: string转换为int?

只是有一个简短的问题.我已经在互联网上看了很多,我找到了一些解决方案,但没有一个已经有效.看一下将字符串转换为int,我不是指ASCII码.

为了快速减少,我们将方程作为字符串传递.我们要将其分解,正确格式化并求解线性方程.现在,在说,我无法将字符串转换为int.

我知道字符串将采用格式(-5)或(25)等,所以它肯定是一个int.但是我们如何从字符串中提取它?

我想的一种方法是通过字符串运行for/while循环,检查一个数字,然后提取所有数字,然后查看是否有一个前导' - ',如果存在,则将int乘以 - 1.

虽然这个小问题看起来有点过于复杂.有任何想法吗?

c++ string int

438
推荐指数
10
解决办法
125万
查看次数

scanf Cppcheck警告

Cppcheck为scanf显示以下警告:

Message: scanf without field width limits can crash with huge input data. To fix this error message add a field width specifier:
    %s => %20s
    %i => %3i

Sample program that can crash:

#include 
int main()
{
    int a;
    scanf("%i", &a);
    return 0;
}

To make it crash:
perl -e 'print "5"x2100000' | ./a.out

我无法崩溃这个程序输入"巨大的输入数据".我应该输入什么才能让这次崩溃?我也不明白这个警告中最后一行的含义:

perl -e ...

c scanf cppcheck

7
推荐指数
1
解决办法
7446
查看次数

标签 统计

c ×1

c++ ×1

cppcheck ×1

int ×1

scanf ×1

string ×1