小编neh*_*ham的帖子

执行strtol后的错误处理

我想读几个数字stdin,每行一个数字.我想忽略任何行上的数字和字符串之后的任何尾随文本.为了实现这一点,我使用了以下代码:

while (getline(cin, str)) {
    num = strtol(str.c_str(), NULL, 0);

    if (errno != ERANGE && errno != EINVAL) {
        arr[i++] = num;
        req_pages_size++;
        cout << arr[i-1] << "\t";
    }

    str.clear();
}
Run Code Online (Sandbox Code Playgroud)

ISSUE:转换失败后,errno无法更新成功转换案例的错误值.对于之前未成功的通话,它的价值保持不变.

请让我知道如何处理这个问题?

error-handling errno strtol

3
推荐指数
1
解决办法
1473
查看次数

设计模式 - 向特定观察者发送通知

在我的应用程序中,有许多观察者和一个主题,但我想向特定观察者发送关于变量的一些变化的通知.

我很困惑,我也在互联网上搜索它..但是没有太多.

如果早些时候被问过我很抱歉...现在我无法找到一些简明的答案.

java design-patterns observer-pattern

2
推荐指数
1
解决办法
2707
查看次数

如何在scheme中创建嵌套循环

我是scheme的新手,我正在尝试创建嵌套循环,其中C代码将如下所示: -

for(i = -1, a = 0; i > -5, a < 5; i--, a++)
{ 
   for(j = i, b = 0; j < (abs(i)), b < 5; j++, b++)
   { 
      <do something>
   }
}
Run Code Online (Sandbox Code Playgroud)

我在计划中用这个概念尝试过类似的东西: -

(let oloop( (i -1) (a 0))
            (display i)(display a) (newline) 
            (if (and (> i -5) (< a 5)) (oloop((- i 1) (+ a 1))))))
Run Code Online (Sandbox Code Playgroud)

我无法嵌套所有四个循环加上面的代码不起作用.

请建议.

scheme for-loop nested-loops

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