在C ++中,如何从1行中获取字符串,浮点数和整数的输入?

诺埃尔·维多利亚

输入的文件包含以下数据:

Juan Dela Cruz 150.50 5

“ Juan Dela Cruz”是我想分配给字符串A的名称,
“ 150.50”是我想分配给浮点数B
的数字,5是我想分配给int C的数字。

如果尝试cin,则由两者之间的空格分隔。
如果使用getline,则将整行作为字符串获取。

正确的语法是什么?

阿明·蒙蒂尼(Armin Montigny)

如果我们分析字符串,则可以进行以下观察。最后,我们有一个整数。在整数前面,我们有一个空格。并在其前面显示浮点值。再次在那个空间里。

因此,我们可以简单地从字符串的后面看倒数第二个空格。这可以通过以下方式轻松实现

size_t position = lineFromeFile.rfind(' ', lineFromeFile.rfind(' ')-1);

我们需要一个嵌套声明,rfind请参阅此处,版本3

然后,我们用名称构建一个子字符串。从字符串的开始到找到的位置。

对于数字,我们将原始字符串的其余部分放入std::istringstream,然后从那里简单地提取出来。

请查看下面的简单代码,其中只有几行代码。

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

int main() {

    // This is the string that we read via getline or whatever
    std::string lineFromeFile("Juan Dela Cruz 150.50 5");

    // Let's search for the 2nd last space
    size_t position = lineFromeFile.rfind(' ', lineFromeFile.rfind(' ')-1);

    // Get the name as a substring from the original string
    std::string name = lineFromeFile.substr(0, position);

    // Put the numbers in a istringstream for better extraction
    std::istringstream iss(lineFromeFile.substr(position));

    // Get the rest of the values
    float fValue;
    int iValue;
    iss >> fValue >> iValue;

    // Show result to use
    std::cout << "\nName:\t" << name << "\nFloat:\t" << fValue << "\nInt:\t" << iValue << '\n';

    return 0;
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C中的用户输入字符串中将浮点数/整数加倍?

来自分类Dev

无法在C中的单行中将字符串和浮点数作为输入

来自分类Dev

C ++银行项目;我如何从文件中读取字符串转换为浮点数并加总

来自分类Dev

尝试在C中使用sscanf()从文件中读取浮点数,整数和字符串的列表无法正常工作

来自分类Dev

如何将浮点数转换为字符串而不会丢失用户在 C 中输入的精度?

来自分类Dev

从 C 中的 strtok 获取字符串和整数

来自分类Dev

C字符串和(整数,双精度数,浮点数)之间的动态分配

来自分类Dev

如何在C中获取浮点数组的顶部索引并将其与存储在另一个数组中的字符串配对

来自分类Dev

C ++将字符串,整数,浮点数从文本文件中读取到数组/字符串中

来自分类Dev

将浮点数传递到C中的字符串中

来自分类Dev

将字符串转换为浮点数在C中?

来自分类Dev

在目标C中浮点数到字符串的转换

来自分类Dev

如何获取字符串C ++中字符的值?

来自分类Dev

如何从C中具有领先空格的stdin获取字符串输入?

来自分类Dev

如何计算C中的浮点数?

来自分类Dev

除非找到空字符串,否则在 C 中获取字符串输入

来自分类Dev

解析浮点数的C字符串

来自分类Dev

带有字符串和浮点数的 C++ 文件 IO

来自分类Dev

如何在C#中将字符串拆分为浮点数?

来自分类Dev

如何在C中将浮点数转换为没有sprintf的字符串?

来自分类Dev

浮点数转换为C中的24位整数

来自分类Dev

如何在C ++中输入整数后跟字符串?

来自分类Dev

使用C语言存储.dat文件中的整数和浮点数

来自分类Dev

在c中的二维数组中获取字符串输入

来自分类Dev

如何编写基于某些条件识别字符串中所选浮点数或整数的C ++正则表达式?

来自分类Dev

C ++如何仅从复杂字符串中获取整数

来自分类Dev

C ++如何仅从复杂字符串中获取整数

来自分类Dev

如何从文件中获取整数-字符串-浮点数?

来自分类Dev

如何从文件中获取整数-字符串-浮点数?

Related 相关文章

  1. 1

    如何在C中的用户输入字符串中将浮点数/整数加倍?

  2. 2

    无法在C中的单行中将字符串和浮点数作为输入

  3. 3

    C ++银行项目;我如何从文件中读取字符串转换为浮点数并加总

  4. 4

    尝试在C中使用sscanf()从文件中读取浮点数,整数和字符串的列表无法正常工作

  5. 5

    如何将浮点数转换为字符串而不会丢失用户在 C 中输入的精度?

  6. 6

    从 C 中的 strtok 获取字符串和整数

  7. 7

    C字符串和(整数,双精度数,浮点数)之间的动态分配

  8. 8

    如何在C中获取浮点数组的顶部索引并将其与存储在另一个数组中的字符串配对

  9. 9

    C ++将字符串,整数,浮点数从文本文件中读取到数组/字符串中

  10. 10

    将浮点数传递到C中的字符串中

  11. 11

    将字符串转换为浮点数在C中?

  12. 12

    在目标C中浮点数到字符串的转换

  13. 13

    如何获取字符串C ++中字符的值?

  14. 14

    如何从C中具有领先空格的stdin获取字符串输入?

  15. 15

    如何计算C中的浮点数?

  16. 16

    除非找到空字符串,否则在 C 中获取字符串输入

  17. 17

    解析浮点数的C字符串

  18. 18

    带有字符串和浮点数的 C++ 文件 IO

  19. 19

    如何在C#中将字符串拆分为浮点数?

  20. 20

    如何在C中将浮点数转换为没有sprintf的字符串?

  21. 21

    浮点数转换为C中的24位整数

  22. 22

    如何在C ++中输入整数后跟字符串?

  23. 23

    使用C语言存储.dat文件中的整数和浮点数

  24. 24

    在c中的二维数组中获取字符串输入

  25. 25

    如何编写基于某些条件识别字符串中所选浮点数或整数的C ++正则表达式?

  26. 26

    C ++如何仅从复杂字符串中获取整数

  27. 27

    C ++如何仅从复杂字符串中获取整数

  28. 28

    如何从文件中获取整数-字符串-浮点数?

  29. 29

    如何从文件中获取整数-字符串-浮点数?

热门标签

归档