Topcoder几例C++字符串应用

简介:

本文写于9月初,是利用Topcoder准备应聘时的机试环节临时补习的C++的一部分内容。签约之后,没有再进行练习,此文暂告一段落。

  换句话说,就是本文太监了,一直做草稿看着别扭,删掉又觉得可惜,索性发布掉。

 

字符串string基本操作

1.用stringstream控制流,格式化输出

复制代码
//SRM144 D2L1
#include <sstream>

...

string res;
/* .. .*/
stringstream ss;
ss<<h<<":"<<m<<":"<<s;
ss>>res;
复制代码

 

2.处理格式化字符串示例

复制代码
//SRM144 D1L2
//vector<string>param;
//vector<item>vec;

string::size_type pos = 0;
string tmp;
for(size_t i=0;i<param.size();i++)
{
    pos = param[i].find(":");
    vec[i].name = param[i].substr(0,pos);
    param[i] = param[i].substr(pos+1);
    stringstream ss(param[i]);
    ss>>tmp;
    vec[i].c = atoi(tmp.c_str());
    ss>>tmp;
    vec[i].b = atoi(tmp.c_str());
    ss>>tmp;
    vec[i].s = tmp[0]=='F'?false:true;
    ss>>tmp;
    vec[i].u = tmp[0]=='F'?false:true;
}
复制代码

 

3.字符串与vector迭代器的使用

复制代码
//SRM145 Div2L1
//字符串中判断给定的模式是否存在
int ImageDithering::count(string patern,vector<string> image)
{
    int count=0;
    for(vector<string>::iterator p = image.begin();p != image.end();p++)
        for(string::iterator pstr =(*p).begin();pstr!= (*p).end();pstr++)
            if(patern.find(*pstr)!=-1)
                count++;
    return count;
}
复制代码

 





本文转自五岳博客园博客,原文链接:www.cnblogs.com/wuyuegb2312/p/3309885.html,如需转载请自行联系原作者

目录
相关文章
|
2月前
|
搜索推荐 编译器 C语言
【C++核心】特殊的元素集合-数组与字符串详解
这篇文章详细讲解了C++中数组和字符串的基本概念、操作和应用,包括一维数组、二维数组的定义和使用,以及C风格字符串和C++字符串类的对比。
78 4
|
14天前
|
存储 并行计算 安全
C++多线程应用
【10月更文挑战第29天】C++ 中的多线程应用广泛,常见场景包括并行计算、网络编程中的并发服务器和图形用户界面(GUI)应用。通过多线程可以显著提升计算速度和响应能力。示例代码展示了如何使用 `pthread` 库创建和管理线程。注意事项包括数据同步与互斥、线程间通信和线程安全的类设计,以确保程序的正确性和稳定性。
|
1月前
|
存储 编译器 C++
【C++篇】揭开 C++ STL list 容器的神秘面纱:从底层设计到高效应用的全景解析(附源码)
【C++篇】揭开 C++ STL list 容器的神秘面纱:从底层设计到高效应用的全景解析(附源码)
51 2
|
2月前
|
编译器 C++
【C++核心】函数的应用和提高详解
这篇文章详细讲解了C++函数的定义、调用、值传递、常见样式、声明、分文件编写以及函数提高的内容,包括函数默认参数、占位参数、重载等高级用法。
22 3
|
1月前
|
缓存 网络协议 API
C/C++ StringToAddress(字符串转 boost::asio::ip::address)
通过上述步骤和示例代码,你可以轻松地在C++项目中实现从字符串到 `boost::asio::ip::address`的转换,从而充分利用Boost.Asio库进行网络编程。
50 0
|
1月前
|
编译器 C语言 C++
C/C++数字与字符串互相转换
C/C++数字与字符串互相转换
|
2月前
|
C++
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
|
3月前
|
存储 算法 C++
C++ STL应用宝典:高效处理数据的艺术与实战技巧大揭秘!
【8月更文挑战第22天】C++ STL(标准模板库)是一组高效的数据结构与算法集合,极大提升编程效率与代码可读性。它包括容器、迭代器、算法等组件。例如,统计文本中单词频率可用`std::map`和`std::ifstream`实现;对数据排序及找极值则可通过`std::vector`结合`std::sort`、`std::min/max_element`完成;而快速查找字符串则适合使用`std::set`配合其内置的`find`方法。这些示例展示了STL的强大功能,有助于编写简洁高效的代码。
45 2
|
3月前
|
存储 搜索推荐 Serverless
【C++航海王:追寻罗杰的编程之路】哈希的应用——位图 | 布隆过滤器
【C++航海王:追寻罗杰的编程之路】哈希的应用——位图 | 布隆过滤器
36 1
|
2月前
|
存储 C++
C++(五)String 字符串类
本文档详细介绍了C++中的`string`类,包括定义、初始化、字符串比较及数值与字符串之间的转换方法。`string`类简化了字符串处理,提供了丰富的功能如字符串查找、比较、拼接和替换等。文档通过示例代码展示了如何使用这些功能,并介绍了如何将数值转换为字符串以及反之亦然的方法。此外,还展示了如何使用`string`数组存储和遍历多个字符串。