0
点赞
收藏
分享

微信扫一扫

我与C++的日常博弈和积累


无限期更新!!!

从一个字符串中判断某个字符是否属于这个字符串中

#include <iostream>
#include <string>
using namespace std;
int main()
{
string a= "abcdefghigklmn" ;
string b= "def" ;
string c= "123" ;
string::size_type idx;

idx=a.find(b); //在a中查找b.
if (idx == string::npos ) //不存在。
cout << "not found\n" ;
else //存在。
cout << "found\n" ;
}

void的意义所在

void表示空或者无类型。

用void表示参数列表或返回值,表示没有参数或没有返回值(不需要返回)。
用void则表示指针类型则表示这个指针可以指向任何类型。

数据间的转化

(1). string转int

  • 采用标准库中atoi函数。

string s = "12"; int a = atoi(s.c_str());
// 对于其他类型也都有相应的标准库函数,比如浮点型atof(),long型atol()等等。

  • 采用sstream头文件中定义的字符串流对象来实现转换。

`istringstream is("12"); //构造输入字符串流,流的内容初始化为“12”的字符串 int i; is >> i; //从is流中读入一个int整数存入i中`

(2). int转string

  • 采用标准库中的to_string函数。

int i = 12; cout << std::to_string(i) << endl;
// 不需要包含任何头文件,应该是在utility中,但无需包含,直接使用,还定义任何其他内置类型转为string的重载函数,很方便。

  • 采用sstream中定义的字符串流对象来实现。

ostringstream os; //构造一个输出字符串流,流内容为空 int i = 12; os << i; //向输出字符串流中输出int整数i的内容 cout << os.str() << endl; //利用字符串流的str函数获取流中的内容

//字符串流对象的str函数对于istringstream和ostringstream都适用,都可以获取流中的内容。

C++除法

(1). 操作数都是整型,那么运算结果也是整型,会舍去小数部分,相当于取(整型)商;

(2). 有一个操作数为浮点数,运算结果就会保留小数部分,此时才算真正的除法;

float和double存储数据区别

printf用法

#include<iostream>
#include<stdio.h> // 这是printf必须导入的
using namespace std;

// 根据输入来输出
int output(int &a, int &b)
{
printf("最傻的游戏是%3d.\n", a);
printf("最好的游戏是%3d.\n", b);
}
int main()
{
int a = 2;
int b = 3;
output(a, b);
system("pause");
return 0;
}

用法(仅介绍几种,其他方法可查)

类型

描述

%d

表示输出整数,在d前面加的数字表示这个数字占用多大的空间

%s

表示输出字符串

%f或者%lf

%f表示float,%lf表示double,%.3f表示要保留的小数

%s

表示输出字符串

今天了解到一个神奇的关键字:auto

有多厉害呢?

auto *p = new Student();    // 创建动态空间一流

好像没那么厉害,不妨看看这个

#include <vector>
vector<int>::iterator v;
// 直接写成
auto v; // 超赞

另外一个是range-based for loop,这个是C++11中加的循环变换,以上面的为例

// 原式
for(auto v; *it = begin(); *it != end(); *it++);
{
cout << *it << endl;
}
// 用了range-based for loop
for(auto v: vt)
{
cout << v << endl;
}

还有要注意的一点是!对于数组!加或者减要,一个一个来!,不能是直接第一个数组等于第二个的,这种无效!


举报

相关推荐

0 条评论