| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 818 人关注过本帖
标题:C++编程的输入问题
只看楼主 加入收藏
i多子妹师南
Rank: 1
来 自:江苏
等 级:新手上路
帖 子:12
专家分:4
注 册:2016-11-13
结帖率:85.71%
收藏
已结贴  问题点数:5 回复次数:2 
C++编程的输入问题
在键盘上输入多个字符串,以空格分开。怎么实现在按下换行符时,将这些字符串输入到一个
字符串数组中,比如按下asd sdf sdg,按下回车键,就把asd存入事先定义的字符串数组的
下标为0的位置,sdf存入下标为1的位置。。。
搜索更多相关主题的帖子: C++ 编程 输入 字符串 位置 
2018-09-21 13:14
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:5 
不是很确定你的需求

程序代码:
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
#include <iterator>
#include <algorithm>

std::vector<std::string> foo( std::istream& in )
{
    std::string line;
    std::getline( in, line );

    std::vector<std::string> result;
    std::istringstream is(line);
    std::copy( std::istream_iterator<std::string>(is), std::istream_iterator<std::string>(), std::back_inserter(result) );
    return result;
}

int main( void )
{
    std::vector<std::string> arr = foo(std::cin);
    for( size_t i=0; i!=arr.size(); ++i )
        std::cout << arr[i] << '\n';
}

 

2018-09-21 15:46
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
假如不同流处理

程序代码:
#include <iostream>
#include <vector>
#include <string>

std::vector<std::string> string_split( const std::string& s )
{
    std::vector<std::string> result;
    for( size_t i,j=0; ; )
    {
        i = s.find_first_not_of( "\t\n\v\f\r ", j );
        if( i == std::string::npos )
            break;
       

        j = s.find_first_of( "\t\n\v\f\r ", i );
        if( j == std::string::npos )
        {
            result.emplace_back( s, i );
            break;
        }
        else
            result.emplace_back( s, i, j-i );
    }
    return result;
}

int main( void )
{
    std::string line;
    std::getline( std::cin, line );

    std::vector<std::string> arr = string_split(line);
    for( size_t i=0; i!=arr.size(); ++i )
        std::cout << arr[i] << '\n';
}

2018-09-21 16:04
快速回复:C++编程的输入问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027807 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved