我从这个方法的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,就是这样。答案 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
的变量作为计数器!