将函数返回值存储到变量中

莫哈末法鲁兹

我有这些代码来查找输入的大小,并从输入中提取整数:

void getInteger(string s) {

    stringstream str_strm;
    str_strm << s;
    string temp_str;
    int temp_int;
    while (!str_strm.eof()) {
        str_strm >> temp_str;
        if (stringstream(temp_str) >> temp_int) {
            cout << temp_int << "";
        }
        temp_str = "";
    }

}


int main()
{
    string myString;
    int totalChar;
    getline(cin, myString);
    int stringLength = myString.length();
    cout << stringLength << endl;;
    getInteger(myString);

}

如何将getInteger存储到变量中,以便可以将其值与整数进行比较/求和?例如,输入是:

我爱6

所以代码应该计算输入的总字符数和整数:

8 + 6 = 14

大卫·C·兰金

如果您有一个函数可以提取一个整数并将该整数包含在.length()和整数和的输出中,请在函数本身中形成所有输出,而不是通过执行部分操作来使事情复杂化并失去对初始输入的控制输入main()并参与您的功能。

以这种方式处理事情,您可以在单个函数中完全控制您的输出。例如,在您的情况下,如果没有找到整数,您将如何“取消输出”长度?

将这些更改放在适当的位置,您的功能可能类似于:

void getint (std::string s)
{
    int val,                        /* var to hold int value */
        found = 0;                  /* flag indicating if int was found */
    size_t len = s.length();        /* get length of s */
    std::string tmp;                /* temporary string to read into from ss */
    std::stringstream ss (s);       /* create stringstream from string */

    while (ss >> tmp) {             /* read from ss */
        try {                       /* stoi must have exception handler */
            val = stoi (tmp);       /* attempt conversion */
            found = 1;              /* on success set found flag */
            break;                  /* break loop */
        }
        catch (const std::exception & e) {  /* catch exception get next word */
            continue;
        }
    }
    if (found)  /* if integer found, output your sum */
        std::cout << len << " + " << val << " = " << len + val << '\n';
    else        /* otherwise handle error */
        std::cerr << "error: no integer value in input.\n";
}

注意:如果没有发生转换,唯一需要的错误处理是获取下一个单词。任何输出只会在输入和所需输出之间添加行)

使用该函数的示例程序可以是:

#include <iostream>
#include <sstream>
#include <string>

void getint (std::string s)
{
    int val,                        /* var to hold int value */
        found = 0;                  /* flag indicating if int was found */
    size_t len = s.length();        /* get length of s */
    std::string tmp;                /* temporary string to read into from ss */
    std::stringstream ss (s);       /* create stringstream from string */

    while (ss >> tmp) {             /* read from ss */
        try {                       /* stoi must have exception handler */
            val = stoi (tmp);       /* attempt conversion */
            found = 1;              /* on success set found flag */
            break;                  /* break loop */
        }
        catch (const std::exception & e) {  /* catch exception get next word */
            continue;
        }
    }
    if (found)  /* if integer found, output your sum */
        std::cout << len << " + " << val << " = " << len + val << '\n';
    else        /* otherwise handle error */
        std::cerr << "error: no integer value in input.\n";
}

int main (void) {

    std::string s;

    if (getline (std::cin, s))
        getint (s);
    else
        std::cerr << "stream error or user canceled.\n";
}

示例使用/输出

$ ./bin/lengthaddition
I love 6
8 + 6 = 14

输入中没有整数

$ ./bin/lengthaddition
I love B
error: no integer value in input.

仔细检查一下,如果您还有其他问题,请告诉我。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将函数返回值存储到变量中

来自分类Dev

将存储过程的返回值存储在变量中

来自分类Dev

将存储过程的返回值存储在变量中

来自分类Dev

如果我不将函数的返回值保存在变量中,该函数的返回值在哪里存储?

来自分类Dev

Python-将元组与另一个函数的返回值分离到不同的变量中

来自分类Dev

如何将NSArray.objectAtIndex的返回值存储到NSString变量

来自分类Dev

如何使用 react-redux 从函数中检索返回值/对象并存储在变量中?

来自分类Dev

如何将带有参数的函数的返回值存储在变量中?

来自分类Dev

如何返回值到函数并通过变量访问它

来自分类Dev

将Google地理编码的返回值存储在外部javascript变量中

来自分类Dev

将Iron-ajax请求的返回值存储在变量中(聚合物)

来自分类Dev

存储过程的返回值在AGI变量中

来自分类Dev

如何在变量中存储选择语句的返回值

来自分类Dev

将变量初始化为返回值的函数

来自分类Dev

XSLT将函数返回值分配给变量

来自分类Dev

SQUIRREL:将函数的返回值分配给变量

来自分类Dev

如何将Javascript函数的返回值捕获到PHP变量中?

来自分类Dev

将函数返回值分配给类中的受保护变量

来自分类Dev

将函数的返回值传递到自定义Angular组件中

来自分类Dev

我可以访问函数返回值两次而不将其存储在变量中或再次调用函数吗?

来自分类Dev

将javascript函数返回存储在变量中

来自分类Dev

将函数结果存储到变量中

来自分类Dev

在两次调用一个函数以及将返回值存储在变量之间选择哪个?

来自分类Dev

如何在bash脚本中调用C程序并将其返回值存储到变量中?

来自分类Dev

如何在bash脚本中调用C程序并将其返回值存储到变量中?

来自分类Dev

函数中的变量也不在 else 语句后返回值

来自分类Dev

函数的返回值存储在哪里

来自分类Dev

如何将图分配给变量并将变量用作Python函数中的返回值

来自分类Dev

如何将图分配给变量并将变量用作Python函数中的返回值

Related 相关文章

  1. 1

    将函数返回值存储到变量中

  2. 2

    将存储过程的返回值存储在变量中

  3. 3

    将存储过程的返回值存储在变量中

  4. 4

    如果我不将函数的返回值保存在变量中,该函数的返回值在哪里存储?

  5. 5

    Python-将元组与另一个函数的返回值分离到不同的变量中

  6. 6

    如何将NSArray.objectAtIndex的返回值存储到NSString变量

  7. 7

    如何使用 react-redux 从函数中检索返回值/对象并存储在变量中?

  8. 8

    如何将带有参数的函数的返回值存储在变量中?

  9. 9

    如何返回值到函数并通过变量访问它

  10. 10

    将Google地理编码的返回值存储在外部javascript变量中

  11. 11

    将Iron-ajax请求的返回值存储在变量中(聚合物)

  12. 12

    存储过程的返回值在AGI变量中

  13. 13

    如何在变量中存储选择语句的返回值

  14. 14

    将变量初始化为返回值的函数

  15. 15

    XSLT将函数返回值分配给变量

  16. 16

    SQUIRREL:将函数的返回值分配给变量

  17. 17

    如何将Javascript函数的返回值捕获到PHP变量中?

  18. 18

    将函数返回值分配给类中的受保护变量

  19. 19

    将函数的返回值传递到自定义Angular组件中

  20. 20

    我可以访问函数返回值两次而不将其存储在变量中或再次调用函数吗?

  21. 21

    将javascript函数返回存储在变量中

  22. 22

    将函数结果存储到变量中

  23. 23

    在两次调用一个函数以及将返回值存储在变量之间选择哪个?

  24. 24

    如何在bash脚本中调用C程序并将其返回值存储到变量中?

  25. 25

    如何在bash脚本中调用C程序并将其返回值存储到变量中?

  26. 26

    函数中的变量也不在 else 语句后返回值

  27. 27

    函数的返回值存储在哪里

  28. 28

    如何将图分配给变量并将变量用作Python函数中的返回值

  29. 29

    如何将图分配给变量并将变量用作Python函数中的返回值

热门标签

归档