2011-09-09 10 views
-1

可能性の重複:私はこのMethodeの[] charへの文字列を変換する方法

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

とTXTデータからラインを持っている
Convert std::string to const char* or char*

今すぐinhalt_anredechar[5] anredeに変換する必要があります。私はanredeを他の部分で使っています。プログラム。

です。したがって、txtデータは保存データのように機能します。

私はまだ学んでいますので、優しくしてください。

btw:いいえ、これは誰かが私からの他の質問について言うような宿題はありません。私はドイツとドイツのC++ @学校はありません。 javaやdelphiでさえない。あなたが幸運にも、HTMLを学ぶなら、それはそれです。

+2

http://stackoverflow.com/questions/347949/convert-stdstring-to-const-char-or-char –

+0

inhalt_anrede.c_str()? – quasiverse

答えて

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

見て(この例では唯一の4文字+ NULLを含めることができます)Cの文字列をオーバーフローしないように注意してください。

+1

strが4文字より長い場合は、strncpy()を使用する方がよい。 –

0

文字列には、char*を返すc_str()メソッドがあります。 char [5]にする必要がある場合は、文字列の最初の5文字を​​1にコピーします。

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

strArrは必ずしも'\0'今終了していることに留意してください。

0

使用std::stringmemcpyc_str()メンバー:あなたのforループカウンタとしてすでにanredeという変数を使用し

char anrede[5]; 
if (anrede.size() >= 5) 
    memcpy(anrede, inhalt_anrede.c_str(), 5); 
else 
    throw "string is too short"; 

注意!

関連する問題