私はまずこれを読んでいただきありがとうございます。C++ c_str文字列の末尾に奇妙な文字を追加する
私はC++でファイルを読み込もうとしています。現在、私はエクスプローラでファイルを選択できるメソッドを持っていて、これを 'std :: string'として返します。私はこのファイルを開く必要がありますが、私はこれのために持っているメソッドは、const char *を使用します。したがって、私は一方を他方に変換する必要があります。
文字列を使ってファイルを読み込む簡単な方法がある場合は、問題全体を解決する方法を教えてください。
str.c_str()を使用して文字列をconst char *に変換すると、最後に奇妙な文字が多く発生します。私は同じ問題で他のトピックを研究しましたが、回答はすべてそのプロジェクトに特有のようです。明らかに私はこれをうれしくしますが、文字列/ベクトルを使ってファイルを開くメソッドはありません。
何か助けていただきありがとうございます。これが発生する場所のコードと出力は、以下に貼り付けられています。
* SOURCE
std::string f;
if (LOWORD(wParam) == 1) {
f = openFile();
char *fchar = new char[f.size()+1]; // +1 to account for \0 byte
//char *fchar = std::vector[1];
std::strncpy(fchar, f.c_str(), f.size());
file1 = fchar;
std::cout<<"string size: " << f.size() << std::endl;
std::cout<<"string: " << f << std::endl;
std::cout<<"fchar: " << fchar << std::endl;
std::cout<<"file1: " << file1 << std::endl;
}
OUTPUT
string size: 33
string: C:\Users\Joseph\Pictures\back_raw
fchar: C:\Users\Joseph\Pictures\back_raw═²²²²½½½½½½½½¯■
file1: C:\Users\Joseph\Pictures\back_raw═²²²²½½½½½½½½¯■**
ありがとうございます!それは問題だった:) – planty182