これは私のコードの一部です
std::string s;
getline(cin, s);
std::cin.clear();
s.erase(std::remove_if(s.begin(), s.end(), my_predicate), s.end());
char *str1 = (char*)malloc(sizeof(char)*(s.size()+1));
const int length = s.length();
for(int i=0; i < length; ++i)
{
s[i] = std::tolower(s[i]);
}
strncpy(str1,s.c_str(), s.length()+1);
printf("\n");
問題は、出力しないと \n コードがクラッシュすることです。memcpy と strdup も試しましたが、役に立ちませんでした。エラーやこれを取り除く方法はありますか????