[解決済み] 文字列が数字かどうかを確認するには?
2022-03-04 14:45:58
質問
このコードで文字列が数字かどうかを調べたいのですが、どうすればいいですか?文字列のすべての文字が整数であることをチェックしなければならないのですが、whileは常にisDigit = 1を返します。なぜそのifが動作しないのかわかりません。
char tmp[16];
scanf("%s", tmp);
int isDigit = 0;
int j=0;
while(j<strlen(tmp) && isDigit == 0){
if(tmp[j] > 57 && tmp[j] < 48)
isDigit = 0;
else
isDigit = 1;
j++;
}
解決方法は?
ASCIIコードチェックはやめて
isdigit
または
isnumber
(参照
man isnumber
). 最初の関数は文字が 0-9 かどうかをチェックし、2 番目の関数は現在のロケールに依存する他のさまざまな数字文字も受け付ける。
重要なのは、「数値文字列」の正確な定義は特定のロケールと文字列エンコーディングに依存するため、これは見た目よりも少し複雑だということです。
関連
-
[解決済み】サイズ8の無効な読み取り - Valgrind + C
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] ある文字列が特定の単語を含んでいるかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptで変数が文字列かどうかをチェックする
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Valgrind が "Invalid write of size 8" で文句を言う。
-
[解決済み】変数の警告が設定されているが使用されていない
-
[解決済み】GCC Cコードで静的宣言が非静的宣言に続くことを解決するには?
-
[解決済み】エラー:イニシャライザー要素がロード時に計算可能でない
-
[解決済み】LinuxのI_PUSHに相当するもの
-
[解決済み] エラー:整数が期待されるところで集約値が使用された
-
[解決済み] char pointers: 'char*' から 'char' への無効な変換?
-
[解決済み】エラー:不明な型名'bool'
-
[解決済み】Linuxソケットのwrite()でBad File Descriptorが発生するC
-
[解決済み] C: コマンドライン引数が整数かどうかをチェックする?