前提・実現したいこと
エラーメッセージを解決したいです。
発生している問題・エラーメッセージ
///変更前のエラーメッセージ/// sdfDataTypes.h:36:41: エラー: ‘strchr’ was not declared in this scope while ( is.get(c) && ! strchr(dcs, c) ) ^ /home/ee174039/ドキュメント/SDFlib/sample/../usr/local/sphere/include/sdf/sdfDataTypes.h:38:39: エラー: ‘strchr’ was not declared in this scope while ( is.get(c) && strchr(dcs, c) ) ///変更後のエラーメッセージ/// sdfDataTypes.h:36:28: エラー: ‘strchr’ is not a member of ‘std’ while ( is.get(c) && ! std::strchr(dcs, c) ) ^ /home/ee174039/ドキュメント/SDFlib/sample/../usr/local/sphere/include/sdf/sdfDataTypes.h:38:26: エラー: ‘strchr’ is not a member of ‘std’ while ( is.get(c) && std::strchr(dcs, c) ) ^
該当のソースコード
C++
1///修正前のコード/// 2 inline void GetLine(std::istream& is, std::string& buff) { 3 char c; 4 const char dcs[] = "\n\r"; 5 buff = ""; 6 while ( is.get(c) && ! strchr(dcs, c) ) 7 buff.push_back(c); 8 while ( is.get(c) && strchr(dcs, c) ) 9 ; 10 if ( is.good() ) is.putback(c); 11 } 12 13///修正後のコード/// 14 inline void GetLine(std::istream& is, std::string& buff) { 15 char c; 16 const char dcs[] = "\n\r"; 17 buff = ""; 18 while ( is.get(c) && ! std::strchr(dcs, c) ) 19 buff.push_back(c); 20 while ( is.get(c) && std::strchr(dcs, c) ) 21 ; 22 if ( is.good() ) is.putback(c); 23 } 24
試したこと
strchr(dcs, c) を std::strchr(dcs, c) に変更しました。
std::getline(is, buff); すれば一行も書かずに済むのに...
回答1件
あなたの回答
tips
プレビュー