c++中string的使用~为什么我用不了string
比如,我需要定义一个string型的字符串变量a,为什么我定义的:stringa不行?运行调试报错,说未声明的标识符“string”是缺少什么头文件吗?请高手支招...
比如,我需要定义一个string型的字符串变量a,为什么我定义的:
string a不行?
运行调试报错,说未声明的标识符“string”
是缺少什么头文件吗?请高手支招 展开
string a不行?
运行调试报错,说未声明的标识符“string”
是缺少什么头文件吗?请高手支招 展开
6个回答
展开全部
#include <string>
标准C++定义了这个文件。
里面有一个size()函数,可以返回字符串的长度。用法:
string a;
a="HELLO";
cout<<a.size()<<endl;
其实还有一些替代的方法,例如用字符数组了。C或者C++也提供了对他的读取操作。但是,和其他语言不太相同的是,读取字符数组时,见到空格就停止读取。
例如:(C++)
char c[100];
cin>>c;
cout<<c<<endl;
(C)
char c[100];
scanf("%s",c);//由于c本身就是指针(数组名就是指向数组首元素的指针),所以不用&操作符取地址。
printf("%s\n",c);
可以这么直接的读入。但是,当输入
asdghaworgh aworgh时,却只能输出asdghaworgh而不能输出asdghaworgh aworgh。想要改变这个现状,可以运用getline函数。
用法:
char c[100];
cin.getline(c,sizeof(c),'\n');
也可以使用getchar进行读取。用法:
char c[100],temp;
long clen=-1;
for(;;)
{
temp=getchar();
if( temp == '\n' )
break;
clen++;
c[clen]=temp;
};
cout<<c<<endl;就可以了。
标准C++定义了这个文件。
里面有一个size()函数,可以返回字符串的长度。用法:
string a;
a="HELLO";
cout<<a.size()<<endl;
其实还有一些替代的方法,例如用字符数组了。C或者C++也提供了对他的读取操作。但是,和其他语言不太相同的是,读取字符数组时,见到空格就停止读取。
例如:(C++)
char c[100];
cin>>c;
cout<<c<<endl;
(C)
char c[100];
scanf("%s",c);//由于c本身就是指针(数组名就是指向数组首元素的指针),所以不用&操作符取地址。
printf("%s\n",c);
可以这么直接的读入。但是,当输入
asdghaworgh aworgh时,却只能输出asdghaworgh而不能输出asdghaworgh aworgh。想要改变这个现状,可以运用getline函数。
用法:
char c[100];
cin.getline(c,sizeof(c),'\n');
也可以使用getchar进行读取。用法:
char c[100],temp;
long clen=-1;
for(;;)
{
temp=getchar();
if( temp == '\n' )
break;
clen++;
c[clen]=temp;
};
cout<<c<<endl;就可以了。
展开全部
看看你包含了相应的头文件没有,在文件开始包含如下头文件试试
#include <string>
#include <string>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include
#include
using
namespace
std;
int
main()
{
char
c;
//定义一个字符变量c
string
cc;//定义一个字符串变量cc
//...
return
0;
}
中有string型的定义。但要用到名字空间std:using
namespace
std;
若要用c语言中的字符串处理函数,如:strcat、strlen、strncmp等,只要再加一个#include
就行了.
#include
using
namespace
std;
int
main()
{
char
c;
//定义一个字符变量c
string
cc;//定义一个字符串变量cc
//...
return
0;
}
中有string型的定义。但要用到名字空间std:using
namespace
std;
若要用c语言中的字符串处理函数,如:strcat、strlen、strncmp等,只要再加一个#include
就行了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <string>
using namespace std;
注意不要 #include <cstring>, 否则不能 cin 和 cout 一个 string。
using namespace std;
注意不要 #include <cstring>, 否则不能 cin 和 cout 一个 string。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <string>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询