• ベストアンサー

C言語 char 型 を数値として読み込む

C言語において abcd5678efg abcd5679efg abcd5680efg という文字が char型であります.(fgetで読み込んだ値ですが.) でそれをif文で 5文字目~8文字目までの数値が 5679以上の場合は ** という作業をしたいのですが if ( name[5~8文字目] > '5679') みたいな感じで. どのようにしたらいいですか,よろしくお願いいたします.

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

> という文字が char型であります.(fgetで読み込んだ値ですが.) fgets() で読み込んだ値が、char * か、char の配列に入っているのですよね? もしそれなら、 char *str = "abcd5678efg"; に対して、 int v; で、 sscanf(str + 4, &v); で、とりあえず、v に数値としての値を取得できます。

kirbykirby
質問者

お礼

ありがとうございます★

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • alice_44
  • ベストアンサー率44% (2109/4759)
回答No.2

よっぽど奇天烈な文字コードを使っていなければ、 if ( strncmp(name+5, "5679", 4) ) { でいいはずだが、数学カテでは完全にカテ違いだ。

kirbykirby
質問者

お礼

ありがとうございます★

すると、全ての回答が全文表示されます。
回答No.1

strncpy()とatoi()で良いのでは。

kirbykirby
質問者

お礼

ありがとうございます★

すると、全ての回答が全文表示されます。

関連するQ&A