質問です。
stlのstringを使っているのですが
まだ、使い慣れなくて
標準関数のstrstrとかstrcmpとか
色々と標準関数と合わせての使用が多くなっているのですが、
stringの仕様がよくわからないもので値を受け取るときなど
いちいち

char temp[256];
memset(temp,0,sizeof(temp));
strncat(temp,(char*)temp_str.c_str(),5);
string dir = temp;

とかやっております。
なにか文字列関数を使うたびにこんなことやっておりますが
実際はどう使ったらいいものなのでしょうか?