关于c ++中字符串的问题

时间:2010-06-29 09:11:21

标签: c++

这对c ++中的字符串有效吗?

string s="lomi";
cout<<s<<endl;

这段代码有什么不好?

#include <iostream>
#include <cstring>
using namespace std;
int main(){

    string s=string("lomi");
    for (int i=0;i<s.length();i++){


         s[i]= s[i]+3;
    }


    std::cout<<s<<std::endl;









     return 0;
}

5 个答案:

答案 0 :(得分:8)

(在您拥有#include d个相应的标头,using std命名空间等之后。)


编辑:您的代码有什么问题

#include <string>

而不是

#include <cstring>

cstringC's string.h header,它定义了操作C字符串的strlenstrcpy等函数,即char*

string定义了您正在使用的C ++的string类。

答案 1 :(得分:4)

简短回答:是的

长答案:string s = "lomi"由于string(const char*)构造函数而起作用。

答案 2 :(得分:2)

适合我 - 它对你有用吗?

请记住首先执行此操作:

#include <ostream>
#include <string>
using namespace std;

答案 3 :(得分:0)

是的,C ++中的cout知道如何处理字符串

答案 4 :(得分:0)

是的,它应该编译和工作,如果你想打印“lomi \ n”,你已经包含<string><ostream>并声明using namespace std;