int类型、char类型、string类型之间的比较总结

ps:该博客想一点加一点。

首先,在这里我贴一张ASCII码的图,其中数字是在48-57的区间内,

è¿éåå¾çæè¿°

先列举几个很好用的函数:

#include

int strcmp(const char *str1, const char *str2)
把 str1 所指向的字符串和 str2 所指向的字符串进行比较。

char *strcpy(char *dest, const char *src)
把 src 所指向的字符串复制到 dest

 

#include

double atof(const char *str)
把参数 str 所指向的字符串转换为一个浮点数(类型为 double 型)。

int atoi(const char *str)
把参数 str 所指向的字符串转换为一个整数(类型为 int 型)。

long int atol(const char *str)
把参数 str 所指向的字符串转换为一个长整数(类型为 long int 型)。

double strtod(const char *str, char **endptr)
把参数 str 所指向的字符串转换为一个浮点数(类型为 double 型)。

 

void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))
数组排序。

int abs(int x)
返回 x 的绝对值。

void srand(unsigned int seed)
该函数播种由函数 rand 使用的随机数发生器。

int puts(const char *str)
把一个字符串写入到标准输出 stdout,直到空字符,但不包括空字符。换行符会被追加到输出中。

 

#include

time_t time(time_t *timer)
计算当前日历时间,并把它编码成 time_t 格式。

struct tm *localtime(const time_t *timer)
timer 的值被分解为 tm 结构,并用本地时区表示。

接着先是char类型转int类型的:

#include
using namespace std;
int main()
{
    char s1='5';
    int s2;

    s2=s1-'0';
    cout<

然后先是int类型转char类型:

#include
using namespace std;
int main()
{
    char s1;
    int s2=5;

    s1=s2+'0';
    cout<

然后string类型,string类型可以使用at(),输出一个指定下标的字符

string s;

s.at(i)==' ';

String类型 转 int类型 可以使用 stoi() 函数

#include

using namespace std;

int main()
{

	string s;//输入9
	cin >> s;
	getchar();

	int b = 5;

	int sum;
	sum = stoi(s) - b;

	cout << sum;//输出4

	return 0;
}

 

再介绍一个很好用的c库函数,tolower()//转化小写英文,islower()判断是否小写英文 

还有,toupper()函数//转化大写英文

    string s;    
    getline(cin, s);
	int n = s.size();
 
	for (int i = 0; i < n; i++)
		s[i] = tolower(s[i]);//将输入的英文字符转化成小写英文
	for (i = 0; i < n; i++)
	{
		if (islower(s[i]))//函数islower判断当前字符是否为小写英文
		    ;
	}

C++库里substr函数的用法

#include 
#include 

using namespace std;

void main() 
{ 
    string s("12345asdf"); 
    string a=s.substr(0,5);
    cout<

上述代码获得字符串s中 从第0位开始的长度为5的字符串.默认时的长度为从开始位置到尾

输出结果为:

12345

你可能感兴趣的:(问题,c++)