• C++ istringstream总结


    问题描述:

    假如有一行用空格隔开的字符串的话,如何提取出每一个字符串

    比如输入

    abc def ghi

    然后我们又需要存下来每一个字符串的话,需要怎么做。

    方法一:双指针算法。

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 int main() {
     4     char str[1010];
     5     cin.getline(str, 1010);
     6     int len = strlen(str);
     7     //cout << len << endl;
     8     for (int i = 0; i < len; i++) {
     9         int j = i;
    10         //每一次i循环的时候,都保证i是指向单词的第一个位置
    11         while (j < len && str[j] != ' ') { //只要j没有走到终点  
    12             //然后我们要找到当前这个单词的最后一个位置    
    13             j++;
    14         }
    15         //当while循环结束时,j就指向当前这个空格
    16         //此时从i到j-1之间就是一个单词 
    17         //这道题的具体逻辑 
    18         for (int k = i; k < j; k++) {
    19             cout << str[k];
    20         } 
    21         cout << endl;
    22         i = j;
    23         //cout << j << endl; 
    24     }
    25     return 0;
    26 }

    运行结果:

     方法二:C++中的istringstream

    具体用法如下:

     1 #include <bits/stdc++.h> 
     2 using namespace std;  
     3 int main()   {  
     4     string str = "aa bb cc dd ee";  
     5     istringstream is(str); //创建istringstream对象is
     6                           //并同时使is和字符串str绑定 
     7     string s;  
     8     while (is >> s) { //将从str中读取到的字符串is写入到字符串s 
     9         cout << s << endl;  
    10     }  
    11     return 0; 
    12 }

    运行结果:

     适用于istringstream的具体题目https://www.cnblogs.com/fx1998/p/12730320.html

  • 相关阅读:
    企业云盘安全性如何 怎样部署
    Sentinel 控制台部署
    nginx代理静态页面添加二级目录
    java socket
    IDEA
    golang代码生成器
    es 单节点问题
    代码模板
    错误摘要 HTTP 错误 403.14
    安装.Net Framework 4.6.2无法安装的2种情况
  • 原文地址:https://www.cnblogs.com/fx1998/p/12868788.html
Copyright © 2020-2023  润新知