tolower

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
研修生

tolower

#1

投稿記事 by 研修生 » 16年前

int stricmp(const char *string1, const char *string2)
{
  char *p=string1;
  for(; *p; p++){
    *p = tolower(*p);
  }

  char *q = string2;
  for(; *q; q++){
    *q = tolower(*q);
  }

  (処理)
}
今stricmp関数の実装に挑戦してますが、文字を小文字にするという作業で詰まっています。
エラーはconst char *から char*に変換できません です。
なにかしら構成に問題があると思います。ずっと考えていますがちっともできないので1回
正解を見た方がいいのでは・・と思いますのでこの小文字への変換だけでいいのでちゃんとできる
コードを教えてもらえないでしょうか。お願いします。

Blue

Re:tolower

#2

投稿記事 by Blue » 16年前

マルチっぽいが。。。
http://oshiete1.goo.ne.jp/qa4938722.html

ループ中に1文字ずつ変数に入れて比較すれば書き換えなくて済むと思われますが。

以下適当
int left, right;
while (*string1 != '\0' && *string2 != '\0')
{
	left  = tolower(*string1);
	right = tolower(*string2);
	
	// 比較
	
	++string1;
	++string2;
}

研修生

Re:tolower

#3

投稿記事 by 研修生 » 16年前

私が使ってるのはこの掲示板だけですが。。
質問が似てるんで同じ研修生かもしれません。

Blue

Re:tolower

#4

投稿記事 by Blue » 16年前

>私が使ってるのはこの掲示板だけですが
まえ別の掲示板で聞きます的な発言があって、その直後にスレが立ったことがあったけど。

http://www.play21.jp/board/formz.cgi?ac ... &from=tree
>Date: 2009/04/30(木) 15:44
>残念ながらわかる方がいらっしゃらないので他でご質問します。

http://oshiete1.goo.ne.jp/qa4920831.html
>質問投稿日時:09/04/30 15:43

あ、直後ではないかw

それにしてもものすごい偶然ですねwww

研修生

Re:tolower

#5

投稿記事 by 研修生 » 16年前

同じ部屋で同じ課題に一緒に取り組んでいる研修生いるんでその人かもしれないといってるわけで。
あんま話さんからしらんけど。

Blue

Re:tolower

#6

投稿記事 by Blue » 16年前

つうか本題がそれていますけど。
重要なのはマルチポストしているかどうかではないので。

ちなみに、向こうの掲示板は放置スレが5つぐらいあります。
同じ部屋にいるのであれば、カナリ失礼な行為なのでレスをつけるように言っておいてもらえると
助かります。

研修生

Re:tolower

#7

投稿記事 by 研修生 » 16年前

1人1人に○○さんですか?と聞いていくのも何かアレなんでそちらの掲示板に書き込んでおいたらいいのでは?
過去の質問的に同じ研修生ってのは間違いないかとは思いますが別グループの可能性もありますし
まぁそんな犯人探しみたいなことするほどのことでもないと思うのでそちらの掲示板に書いておいた方が
確実かとは思います。この放置っぷりは過去の質問は放置してそうな雰囲気はありますけどね。

non

Re:tolower

#8

投稿記事 by non » 16年前

const char *なので、書き換えることができません。
Blueさんが指摘されているように、1文字ずつ小文字にしながら比較するのが妥当だと
思います。どうしてもいやなら、動的に配列を確保し、そこに文字列を小文字にしながら
コピーしていくのでしょうね。

研修生

Re:tolower

#9

投稿記事 by 研修生 » 16年前

ちょっと難しいですが考えてみますね

閉鎖

“C言語何でも質問掲示板” へ戻る