A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
fgetsで読み込んだ場合は、1行全体を読み込めたか、途中でちょん切れたかを判定する必要があります。
BUFSIZマクロは、setbufの引数に渡す配列のサイズに使うためのもので、汎用的なバッファのサイズに使用すべきものではありません。
isspaceなどis~系の関数やputcharにchar型の値を直接渡すと、(char型が符号付きであれば)値が負の場合に動作が未定義になります。
どうせ1文字ずつ処理するのであれば、初めからgetcharで読み込んだ方が簡単な気がします。
No.2
- 回答日時:
scanf()を使った入力はBuffer Overflowの危険性があります。
-- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< --
#include <stdio.h>
#include <ctype.h>
int
main(void)
{
char buf[BUFSIZ], *p;
fgets(buf, BUFSIZ, stdin);
p = buf;
while (*p != '\n' && *p != 0) {
if (isspace(*p)) {
while (isspace(*p)) {
++p;
}
putchar('\n');
}
else {
putchar(*p);
++p;
}
}
putchar('\n');
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- X(旧Twitter) カギをかけているツイッターの検索について教えてください。 2 2022/11/07 17:22
- Visual Basic(VBA) Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。 2 2023/07/14 14:06
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- その他(ソフトウェア) PayPayのアカウント情報を入力すると「表示名」の入力に不備がありますと出てきてしまいます 1 2022/06/13 12:44
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- その他(交通機関・地図) スマートEX事前予約について 1 2023/06/26 14:52
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 3 2022/06/12 11:17
- Excel(エクセル) アンケート集計用VBAについて教えて下さい。 約100人にアンケート内容が入ったExcelファイルを 1 2022/07/27 13:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語をコンパイルするとコンピ...
-
mallocについて
-
大量のデータを読み込んで表示...
-
システムエンジニアの適正について
-
C言語 配列と関数の練習問題
-
[C言語]fputsとfprintfの違い
-
どちのほうがすきですか?
-
関数ポインタの高速化のメリット
-
C++のcase文の書き方
-
S-JIS → JIS コード変換するには
-
こんなことてしますか??
-
VisualStudio2022でC言語プログ...
-
gcc13.2のバグ?
-
Cのdoubleの浮動小数点表示につ...
-
win10で、正確な待ち時間の作り方
-
gccを行ってもexeファイルが生...
-
c言語
-
C言語 列挙型(enum型)変数について
-
C言語について。
-
double型が正常に認識されてい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUN BBSの改造方法
-
CGIメールフォームの件名について
-
perlで書いたcgiでsqliteの使い...
-
CGI(Perl)内での必須項目チェ...
-
チェックボックスでのor検索
-
入力フォームに全角・半角スペ...
-
Windows7でVBScriptによるネッ...
-
tracert ができない原因
-
配列をグループ化して出力したい。
-
電話番号を読み込むプログラム...
-
JNAVIから提供されたメー...
-
日本語文字化け(GETメソッド?)
-
文字って数字で表現・・・
-
sendmail -fオプションの指定は...
-
【ASP.NET MVC】フォームヘルパ...
-
sendmailのメール送信ができま...
-
【CGI】画像の表示の仕方【Mini...
-
添付つきメールフォーム:「an ...
-
同じname属性の結果を1行にまと...
-
太郎を太と郎に分ける方法。
おすすめ情報