【模板】——c与c++字符串常用方法

文件尾循环控制

C

1.gets()函数,读取一行
char * str;
while(gets(str)!=NULL){}
2.scanf()
while(scanf(“%s”,str)!=EOF)){};

C++

1.getline()
string str;
while(!cin.eof()){getline(cin,str);}
2. cin
string str;
while(!cin.eof()){cin >> str;}

string与char的转换

参考博客C++中如何将string类型转化成char类型

string转char*

c_str函数

	string str=“world”;
	const char *p = str.c_str();//要加const或者等号右边用char*

char * 转string

可以直接赋值。

	string s;
	char *p = "hello";//直接赋值
	s = p;

string转char[]

这个由于我们知道string的长度,可以根据length()函数得到,又可以根据下标直接访问,所以用一个循环直接赋值就可以。

	string pp = "dagah";
	char p[8];
	int i;
	for( i=0;i<pp.length();i++)
	    p[i] = pp[i];
	p[i] = '\0';
	printf("%s\n",p);
	cout<<p;

char[]转string

这里可以直接赋值。

C++ string与int的转换

int转string

std::to_string

int a=10;
string str = to_string(a);

string转int

std::stoi,std::stol,std::stoll

	std::string str1 = "45";
    std::string str2 = "3.14159";
    std::string str3 = "31337 with words";
 
    int myint1 = stoi(str1);//45
    int myint2 = stoi(str2);//3
    int myint3 = stoi(str3);//31337

c++与其它类型的数字转换

在这里插入图片描述

C语言字符串与整数的转换

char*转double

头文件#include<stdlib.h>/include
原型:double atof(const char *nptr);
作用:把字符串转换成浮点数,直至遇到第一个空格。

int转char*

头文件#include<stdlib.h>/include

原型:char* itoa(int value,char* string,int radix);其中,value是要转换的整数值,string是存储转换后值的字符数组,radix代表进制,radix=10就是十进制,radix=2就是二进制。
作用:将整数转换为字符串。
第二个参数只能是char*,不能是string;

char*转int

头文件: #include<stdlib.h>/#include

原型:int atoi(const char *nptr);

作用:把字符串转换成整型数。如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字或结束符 \0 时停止转换,返回整型数。atoi()不会做范围检查,如果超出范围的话,超出上界,则输出上界,超出下界,则输出下界;stoi()会做范围检查,默认范围是在int的范围内的,如果超出范围的话则会runtime error!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值