c++中如何将一个字符串转化成数组
c++中将一个字符串转化成数组方法如下:
include <stdio.h>
#include <string.h> int main(void){ char *str = "helloworld"; char arr_str[32]; int len, i; /* one way */ len = strlen(str); strncpy(arr_str, str, len+1); for (i = 0; i < len; i++) putchar(arr_str[i]); putchar(10); /* another way */ memset(arr_str, 0, sizeof(arr_str)); printf("Please input a string: "); scanf("%s", arr_str); for (i = 0; i < len; i++) putchar(arr_str[i]); putchar(10); return 0;}
扩展资料:
C++语言基本类型
1、整型
整数常量
整数常量是不带小数的数值,用来表示正负数。例2—2中Ox55、0x55ff、1000000都是c++语言的整数常量。
c++语言的整数常量有三种形式:十进制、八进制、十六迸制。
(1)十进制整数是由不以0开头的0~9的数字组成的数据。
(2)八进制整数是由以0开头的0~7的数字组成的数据。
(3)十六进制整数是由以0x或0x开头的0~9的数字及A~F的字母(大小写字母均可)组成的数据。
整型变量类型
整型变量类型有byte,short,int,long四种说明符,它们都是有符号整型变量类型。
(1)byte类型。
byte类型说明一个带符号的8位整型变量。由于不同的机器对多字节数据的存储方式不同,可能是从低字节向高字节存储,也可能是从高字节向低字节存储。这样,在分析网络协议或文件格式时,为了解决不同机器上的字节存储顺序问题,用byte类型来表示数据是合适的。
(2)short类型。
short类型说明一个带符号的16位整型变量。short类型限制了数据的存储应为先高字节,后低字节。
(3)int类型。
int类型说明一个带符号的32位整型变量。int类型是一种最丰富、最有效的类型。它最常用于计数、数组访问和整数运算。
(4)long类型。
long类型说明一个带符号的64位整型变量。对于大型计算,常常会遇到很大的整数,并超出int所表示的范围,这时要使用long类型。
2、浮点型
浮点数常量
浮点数是带有小数的十进制数,可用一般表示法或科学记数法表示。0.23f、0.7e-3都是c++语言的浮点数常量。
(1)一般表示法:十进制整数+小数点+十进制小数。
(2)科学记数法:十进制整数+小数点+十进制小数+E(或e)+正负号+指数。
浮点变量类型
浮点变量也称实数变量,用于需要精确到小数的函数运算中,有float和double两种类型说明符。
(1)float类型。
float类型是一个位数为32位的单精度浮点数。它具有运行速度较快,占用空间较少的特点。
(2)double类型。
double类型是一个位数为64的双精度浮点数。双精度数在某些具有优化和高速运算能力的现代处理机上运算比单精度数快。双精度类型double比单精度类型float具有更高的精度和更大表示范围,常常使用。
3、字符型
字符型常量
字符型常量是指由单引号括起来的单个字符。
例如:’a’,’A’,’z’,‘$’,’?’。
注意:’a’和’A’是两个不同的字符常量。
除了以上形式的字符常量外,c++语言还允许使用一种以“\”开头的特殊形式的字符常量。这种字符常量称为转义字符,用来表示一些不可显示的或有特殊意义的字符。
字符型变量
字符型变量的类型说明符为char,它在机器中占8位,其范围为0~255。
注意:字符型变量只能存放一个字符,不能存放多个字符,
3、布尔型
布尔常量
布尔常量只有两个值:“true”和“false”,表示“真”和“假”,均为关键词,在机器中位长为8位。
布尔型变量
布尔型变量的类型说明符为booI,用来表示逻辑值。
参考资料:百度百科-C++
#include <windows.h>
#include <stdio.h>
#include <time.h>
#include <iostream>
using namespace std;
int main()
{
string s = "a1234";
char c[20];
strcpy(c, s.c_str());
cout << c[0] << endl;
system("pause");
return 0;
}
或
#include <iostream>
#include <string>
using namespace std;
int main()
{
char a[10]="aaaabbbba";
string s(&a[0],&a[strlen(a)]);
cout<<s<<endl;
system("pause");
}
扩展资料:
C++中的算术运算符包括基本的算术运算符和自增、自减运算符。由算术运算符、操作数和括号构成的表达式称为算术表达式。
基本算术运算符有:+(加)、-(减或负号)、*(乘)、/(除)、%(取余)。其中“-”作为负号时为一元运算符,其余都为二元运算符。
这些基本算术运算符的意义与数学中相应符号的意义是一致的。它们之间的相对优先级关系与数学中的也是一致的,即先乘除、后加减,同级运算自左向右进行。使用算术运算符要注意以下几点:
“%”是取余运算,只能用于整型操作数。表达式a%b的结果为a/b的余数。 “%”的优先级与“/”相同。
当“/”用于两整型操作数相除时,其结果取商的整数部分,小数部分被自动舍弃。因此,表达式1/2的结果为0,这一点需要特别注意。
C++中的“++” (自增)、 “--” (自减)运算符是使用方便且效率很高的两个运算符,它们都是一元运算符。这两个运算符都有前置和后置两种使用形式。
参考资料:C语言-百度百科
经上机实际运行的代码如下:
#include <iostream>
#include <string>
using namespace std;
void main()
{
string str="Hello World!";
char arr[50];
strcpy(arr,str.c_str());//.c_str()是把string类型转为char*格式!
cout<<arr[1]<<endl;//显示'e' 可以自己改动看看结果
return;
}
另外,
如果你仅仅是访问而不需要修改的的话,是不需要转化的,
如楼上所说,你可以直接那字符串名当数组名来访问:
比如 str="Hello World"; str[0]=='H',str[1]='e'......
希望对您有所帮助:)
比如 str="Hello World"; str[0]=='H',str[1]='e'......
如果需要修改数组成员的话,你可以通过函数strcpy来实现:
string str="Hello World";
char arr[20];
你可以进行如下操作:strcpy(arr,str)来实现。
#include<fstream.h>
#include<string.h>
using namespace std;
int main()
{
// string ch="aaaaaaaaa";
char line[100];
ifstream in("data.txt",ios_base::in);
for(int i=0;i<5;i++)
{in.getline(line,20);
cout<<line;}
system("pause");
}
你可以在data.txt随便写什么,自己运行看结果 吧,希望能帮上你忙