私はループを必要とする賢い C 関数のいくつかについて学んできましたが、実行するループ本体はなく ( のようにstrcpy()
)、1 行の長さしかありません。
興味深いことに、すべての\n
改行文字をスペースで置き換えることを、このように 1 行に減らす方法はありますか?
現時点では私が持っている
char* newline_index;
while (newline_index = strchr(file_text, '\n'))
{
*newline_index = ' ';
}
私はこのようなことをしたいと思います:
while (*strchr(file_text, '\n') = ' ');
もちろん、strchr が null を返すときは、null ポインターを逆参照しようとします。
より多くのコードが含まれているため、strchr を使用するのは不正行為であることはわかっていますが、標準の c 関数を使用するだけでこれを行う 1 行の方法があるかどうかを確認したいと思います。
編集:いくつかの助けを借りて、これは私が思いついた最高のものです:
char* newline_index;
while ((newline_index = strchr(file_text, '\n')) && (*newline_index = ' '))