質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

4回答

275閲覧

strncmpを用いた方法

riri_Ca85991151

総合スコア19

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

1クリップ

投稿2019/03/15 03:25

C言語についてです。
ファイルの住所
〒100-0001 千葉県~
このように表示されてる時、strcncmpを用いたいのですが、この場合千葉県を発見したい時、先頭から何バイトを求めればいいのでしょうか?
ご回答の程よろしくお願い致します

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

showkit

2019/03/15 03:28

文字コードに何を使用しているかによって変わります
guest

回答4

0

ShiftJISなら漢字1文字は2バイトなので、"千葉県"は6バイトですねー

# strncmpの間違い?

投稿2019/03/15 03:59

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

「目的の文字列がドコにあるか」なら strstr が適任かと。

C

1#include <stdio.h> 2#include <string.h> 3 4int main() { 5 const char* target = "〒260-8667 千葉県千葉市中央区市場町1-1"; /* 千葉県庁 */ 6 const char* pattern = "千葉県"; 7 const char* position = strstr(target, pattern); 8 if ( position != NULL ) { 9 printf("[%s] は [%s] の %dbyteメにあるよ\n", pattern, target, (int)(position-target)); 10 } 11 return 0; 12} 13 14/* 実行結果 15[千葉県] は [〒260-8667 千葉県千葉市中央区市場町1-1] の 11byteメにあるよ 16*/

投稿2019/03/15 14:56

編集2019/03/15 14:57
episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

riri_Ca85991151

2019/03/15 23:26

strstrの解法は思いつきませんでした! ありがとうございます!
guest

0

"〒100-0001 千葉県"と比較したいんですかね?

であれば
strlen("〒100-0001 千葉県");
でバイト数が求まると思います。
たぶん17バイト。


あ、でもこれだと郵便番号が異なる千葉県が拾えないので、"千葉県"だけで比較した方が良さそうです。

投稿2019/03/15 08:13

編集2019/03/15 08:15
takabosoft

総合スコア8356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

Shift_JIS ならば 全角文字は2バイトになりますので

〒100-0001 千葉県~
01234567890123456

0 から数えて 11文字目から6文字分になります。
(等幅フォントでないと分かりにくい)

投稿2019/03/15 03:57

showkit

総合スコア1638

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

riri_Ca85991151

2019/03/15 23:26

解決しました! ご回答ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問