質問: scanf("%s", buf);でスペースを含んだ文字 コンソールプログラムで scanf("%s", buf); を使用してユーザに入力された文字によって処理を行いたいのですが、このままではスペースを含む文字列がスペースの手前で切られてしまいます。 c:\program filesなどを入力可能にさせたい場合にはどのようにするのがベターですか?
回答: コンソールからの入力は、fgets(buf,sizeof buf,stdin); を使います。 scanfは使い方が難しいので初心者は使わないほうがいいです。特にコンソール入力にはまず使いません。定型書式のファイルから読むときに使うくらいですが、その場合もfscanfかfgets+sscanfを使うでしょう。scanfの存在を忘れてしまってもかまわないです。