【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※返信付き投稿の削除は禁止!
 ※マルチポスト(多重投稿)は慎んで!

 詳しくはこちら


本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール掲示板2こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.21885

文字列の一部を表示
投稿者---ピーター(2005/07/12 21:13:50)


ここに書き込むのは初めてです。よろしくお願いします。
さっそく質問なのですが、題名のとおり文字列を入力した場合その一部だけを表示するにはどうすればよいのですか?

例:I have a pen.の「have」のみを表示する。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:文字列の一部を表示 21886 まきじ 2005/07/12 21:15:03
<子記事> Re:作りかけのプログラムのソース 21893 アンドロオイド 2005/07/13 02:21:12
<子記事> Re:文字列の一部を表示 21897 円零 2005/07/13 10:32:20


No.21886

Re:文字列の一部を表示
投稿者---まきじ(2005/07/12 21:15:03)


>例:I have a pen.の「have」のみを表示する。

strstr() はどうでしょうか?



この投稿にコメントする

削除パスワード

No.21893

Re:作りかけのプログラムのソース
投稿者---アンドロオイド(2005/07/13 02:21:12)


>ここに書き込むのは初めてです。よろしくお願いします。
>さっそく質問なのですが、題名のとおり文字列を入力した場合その一部だけを表示するにはどうすればよいのですか?
>
>例:I have a pen.の「have」のみを表示する。

例がさっぱりわからない。2番目の単語という意味?
まさか「have」固定ではないだろうし。

まきじさん、strstrでサーチ引数は?


この投稿にコメントする

削除パスワード

No.21896

Re:作りかけのプログラムのソース
投稿者---まきじ(2005/07/13 08:51:56)


>まきじさん、strstrでサーチ引数は?

char *src = "I have a pen";
char *str = "have";
strstr(src,str);

「ある文字列から指定された文字列を探す」と解釈しました。
「何番目の単語」とかなら、strtok() とかはどうでしょうか?

あと、sscanf() とかは?



この投稿にコメントする

削除パスワード

No.21898

Re:文字列の一部を表示
投稿者---アンドロオイド(2005/07/13 10:53:09)


まきじさん、私の疑問の趣旨が伝わっていなかったようです。
質問は「have」を表示させることです。
サーチ引数がわかっているのでしたら、
サーチの必要は無く単にそれを表示させるだけだと思いますが。


この投稿にコメントする

削除パスワード

No.21899

Re:文字列の一部を表示
投稿者---まきじ(2005/07/13 11:35:49)


>質問は「have」を表示させることです。

質問は、「文字列を入力した場合その一部だけを表示するにはどうすればよいのですか?」ですが・・・

>サーチ引数がわかっているのでしたら、
>サーチの必要は無く単にそれを表示させるだけだと思いますが。

それだと、「文字列の一部」じゃない可能性もある。

「一部」の条件が、「指定された文字列と同じ文字列」なのか
「n個目の単語」なのかが解らないので、私なりの解釈でレスを
しました。


この投稿にコメントする

削除パスワード

No.21897

Re:文字列の一部を表示
投稿者---円零(2005/07/13 10:32:20)


>文字列を入力した場合その一部だけを表示する

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

int main(void){
    int pos, totllgth, fraglgth;
    char str1[256] = {0}, str2[256] = {0};
    srand((unsigned)time(NULL));
    printf("元になる文字列を入力してください\n");
    totllgth = strlen(fgets(str1, 256, stdin));
    pos = rand() % totllgth;
    fraglgth = rand() % (totllgth - pos) + 1;
    printf("%d文字目から%d文字切り出します。\n", pos + 1, fraglgth);
    printf("%s", strncpy(str2, str1 + pos, fraglgth));
    return 0;
}



この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧