C++ 字符串分割 (HDUOJ 2072)
来源:互联网 发布:python调用js文件 编辑:程序博客网 时间:2024/05/16 08:40
1. C++ 的boost库里有直接的分割函数split,可以将字符串按照指定的分割规则分割成字符串数组,类似Java。
具体使用参考:http://stackoverflow.com/questions/5734304/c-boost-split-string
2. 如果不使用boost库的话,可以使用<string.h>里面的strtok函数进行字符串分割。
具体函数使用见:http://www.cplusplus.com/reference/cstring/strtok/
下面附上HDUOJ 2072的源代码,思路就是将每行的字符串按照空格分割成字符串数组,然后统计有多少个不同的字符串,这个时候刚好可以利用C++ STL里set这个类,相同的字符串只会存储一个。
#include <iostream>#include <set>#include <iomanip>#include <cmath>#define PI 3.1415927using namespace std;int getNum(string s) {set<string> str;const char *d = " ";char *p;p = strtok(const_cast<char*>(s.c_str()), d);while(p) {str.insert(p);p = strtok(NULL, d);}return str.size();}int main(){ string s;while(getline(cin,s)) {if(s=="#") break;cout << getNum(s) << endl;}return 0;}
- C++ 字符串分割 (HDUOJ 2072)
- 字符串分割(C/C++)
- C字符串分割
- C字符串分割
- C++MFC分割字符串
- 分割字符串(C版本)
- 字符串分割(C++)
- 字符串分割(C++)
- 字符串分割(C++)
- 字符串分割(C++)
- 字符串分割(C++)
- C字符串分割
- 字符串分割(C++)
- 字符串分割(C++)
- 常用字符串分割(C++)
- C语言字符串分割
- 字符串分割(C++)
- 字符串分割(C++)
- 常用的小技巧
- Azkaban文档
- Linux下高并发socket最大连接数
- 不能 rename 存储过程, 函数
- Android加载相册和拍照
- C++ 字符串分割 (HDUOJ 2072)
- Eclispe \ MyEclispe 注释标签详解
- WPF快速指导6:触发器
- __declspec(dllexport)引申的相关知识
- Freemarker 内置函数 数字、字符串、日期格式化用法介绍
- 优秀程序员无他-善假于物也
- oracle常用errcode
- tomcat服务器上部署多个项目
- Eclispe \ MyEclispe 注释配置