如何将字符串转换为char []

时间:2011-09-09 11:54:33

标签: c++ string char

  

可能重复:
  Convert std::string to const char* or char*

我从这个方法的txt数据中得到了一行

 for ( int anrede=0;!user1.eof();anrede++){
     if (anrede==1){
         getline(user1, inhalt_anrede);       
     }
 }

现在inhalt_anrede应转换为char[5] anrede我已在程序的其他部分使用anrede

所以txt数据就像保存数据一样。

我还在学习,所以请温柔; D。

顺便说一下:不,这不像有人说我的另一个问题。我来自德国和德国,没有C ++ @学校。甚至不是java或delphi。如果你很幸运,你会学习HTML,就是这样。

4 个答案:

答案 0 :(得分:2)

std::string str("abc");
char cstr[5];
strcpy(cstr, str.c_str());

请确保不要溢出c字符串(在此示例中只能包含4个字符+ NULL)。

答案 1 :(得分:0)

您可能希望查看字符串的c_str()方法。有关详细信息,请查看http://cplusplus.com/reference/string/string/c_str/

答案 2 :(得分:0)

字符串有一个返回char*的c_str()方法。如果你需要它是char [5],那么将字符串中的前五个字符复制到一个。

 char strArr[5];
 for (int i = 0; i < 5 && i < inhalt_anrede.length(); ++i) {
     strArr[i] = inhalt_anrede[i];
 }

请记住,strArr现在不一定'\0'终止。

答案 3 :(得分:0)

使用c_str()std::string的{​​{1}}成员:

memcpy

请注意,您在char anrede[5]; if (anrede.size() >= 5) memcpy(anrede, inhalt_anrede.c_str(), 5); else throw "string is too short"; 循环中已使用名为anrede的变量作为计数器!