临沂世联怡高:c++中怎么把一个字符串赋给一个变量

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 21:55:14
1.我想把一个字符串赋给一个变量,不知怎么弄.输出呢?
2.字符串数组如何得到.例如str[5]是一个字符串的数组,现在想在str[1]中存储"ABC",在str[2]中存储"ABCDE",在str[3]中存储"ABCDEF"....请问像这样的赋值和输出应该怎么实现呢?
谢谢!

问题一的解决:
这个问题通常有两种解决方法,一个是字符数组(现已不常用)另一个是string类,当然这个要在头文件中加上#include<string>
代码如下:
#include<iostream>
#include<string>
using namespace std;]
int main(){
string str="abcd";
cout<<str;
}
或者是
#include<iostream>
using namespace std;
int main(){
char *ch="abc";
cout<<ch;

}
或者是
#include<iostream>
using namespace std;
int main(){
char ch[3]="abc"; //〔〕中可以是3也可以是其它任意数
cout<<ch;
}
问题二的解决:
定义数组时用定义或用结构体或类来解决
#include<iostream>
using namespace std;
int main(){
string str[3];
for(int i=0;i<3;++i)
cin>>str[i];
for(int i=0;i<3;++i)
cout<<str[i];
}

可以使用:
strcpy(str, "ABC");strcpy(str,"ABCDE");
但是有一点要注意,str的空间大小要够存放后面的字符串.
这样就可以把ABC赋值给str了.
包含头文件:
#include <string.h>
字符串数组可以如下定义:
char *str[3]={
"ABC",
"ABCDE",
"AAAA"}
如果对str[0]赋值,同样可以用上面的函数
strcpy(str[0], "sfdsfsd");

在C++中,可以使用C++标准库中的string类,
定义string str;
str = "ABC";
str = "ABCDE"
这个要添加如下头文件
#include <string>
using namespace std;

  1. 对于string型的变量,直接赋值即可,如string str="abcde";使用string类需要使用头文件#include <string>

  2. 对于char数组型的变量,在声明时可以直接赋值,如char str[] = "abcde",

  3. 对于char数组型的变量,在非声明的时候赋值时,不能直接赋值,如char str[64];str = "abcde";是不允许的,需要借助strcpy函数进行赋值,需要使用头文件#include <string.h>。使用方法:

char str[64];
strcpy(str, "abcde");//将abcde拷贝到str数组中。

cin>>str//输入数组str
cin>>str[1]>>str[2]//输入字符串str[1]和str[2]
cout<<str //输出数组str
cout<<str[1]//输出字符串str[1]

char* str[5]{
ABC, ABCDE,ABCDEF};
使用指针就可以了