| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1960 人关注过本帖
标题:C++怎么里怎么提取字符串"0,110,220|1,143,223|0,446,883" 的坐标 ...
只看楼主 加入收藏
a329367512
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-8-9
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
C++怎么里怎么提取字符串"0,110,220|1,143,223|0,446,883" 的坐标
怎么里怎么提取字符串"0,110,220|1,143,223|0,446,883" 的坐标,我要提取110,220这用x,y表示 ,143,223用x1,y1表示,446,883用x2,y2表怎么提取呢
搜索更多相关主题的帖子: 字符串 
2016-08-09 16:36
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:10 
sscanf最简单
2016-08-09 19:38
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
程序代码:
#include <cstdio>

int main( void )
{
    const char* s = "0,110,220|1,143,223|0,446,883";

    int x0,y0, x1,y1, x2,y2;
    if( sscanf(s,"%*d , %d , %d | %*d , %d , %d | %*d , %d , %d", &x0,&y0, &x1,&y1, &x2,&y2) == 6 )
        printf( "(%d,%d) (%d,%d) (%d,%d)\n", x0,y0, x1,y1, x2,y2 );
    else
        puts( "error" );

    return 0;
}

输出:(110,220) (143,223) (446,883)
2016-08-10 08:24
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
用C++的istream就烦多了
程序代码:
#include <iostream>
#include <sstream>

int main( void )
{
    const char* s = "0,110,220|1,143,223|0,446,883";

    bool bSuccess = false;
    int x0,y0, x1,y1, x2,y2;
    {
        int i0, i1, i2;
        char c0,c1,c2,c3,c4,c5,c6,c7;
        std::istringstream is( s );
        is >> std::skipws;
        if( is>>i0>>c0>>x0>>c1>>y0>>c2>>i1>>c3>>x1>>c4>>y1>>c5>>i2>>c6>>x2>>c7>>y2
            && c0==',' && c1==',' && c2=='|'
            && c3==',' && c4==',' && c5=='|'
            && c6==',' && c7==',' )
        {
            bSuccess = true;
        }
    }

    if( bSuccess )
        std::cout << '('<<x0<<','<<y0<<") ("<<x1<<','<<y1<<") ("<<x2<<','<<y2<<')' << std::endl;
    else
        std::cerr << "error\n";

    return 0;
}

2016-08-10 08:36
asdzxc520250
Rank: 2
来 自:广东
等 级:论坛游民
帖 子:1
专家分:10
注 册:2016-8-15
收藏
得分:10 
2016-08-15 15:44
快速回复:C++怎么里怎么提取字符串"0,110,220|1,143,223|0,446,883" 的坐标 ...
数据加载中...
 
   



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

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