←検索窓の楽しみ方
  ショッピングモール  掲示板ランキング


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

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

 詳しくはこちら


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

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


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

No.4146

指定文字列までの文字列とりだし
投稿者---yoshiaki(2005/07/01 11:06:34)


指定文字列までの文字列とりだし機能をもった関数
void STREDIT(char *STR) を作成したいのですが
指定文字列はコール側で設定するのではなく
関数内で";"のようにダブルコーテーションで
指定する方法で作りたいのです。

char *STR にAB;CD;EF なら AB
ABCならABC ABC;ならABCとしたいです。
先頭文字に;がくることはありません。

お願いします。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:指定文字列までの文字列とりだし 4147 まきじ 2005/07/01 11:26:10
<子記事> Re:指定文字列までの文字列とりだし 4148 Blue 2005/07/01 11:26:49
<子記事> Re:指定文字列までの文字列とりだし 4149 まきじ 2005/07/01 11:29:04
<子記事> Re:指定文字列までの文字列とりだし 4151 nop 2005/07/01 11:33:02
<子記事> Re:指定文字列までの文字列とりだし 4152 yoshiaki 2005/07/01 13:25:51


No.4147

Re:指定文字列までの文字列とりだし
投稿者---まきじ(2005/07/01 11:26:10)


>指定文字列までの文字列とりだし機能をもった関数
>void STREDIT(char *STR) を作成したいのですが

strstr() あたりを使えばできると思います。


この投稿にコメントする

削除パスワード

No.4148

Re:指定文字列までの文字列とりだし
投稿者---Blue(2005/07/01 11:26:49)


肝心な質問内容が書かれていませんが?
どこまでできていて、なにができていないのか明記してください。
(できたらソースつきで)

再度投稿される場合は、
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
を守ってくださいね。

ところで、標準関数に strtok てあるのですが、どうなんでしょうか?



この投稿にコメントする

削除パスワード

No.4150

Re:指定文字列までの文字列とりだし
投稿者---Blue(2005/07/01 11:30:00)


>ところで、標準関数に strtok てあるのですが、どうなんでしょうか?

文字列で区切るのでしたね。勘違いしていました。
そうすると、まきじさんがおっしゃるように
 strstr とかで区切り文字列を検索して区切ることになりそうですね。



この投稿にコメントする

削除パスワード

No.4149

Re:指定文字列までの文字列とりだし
投稿者---まきじ(2005/07/01 11:29:04)


>char *STR にAB;CD;EF なら AB
>ABCならABC ABC;ならABCとしたいです。
>先頭文字に;がくることはありません。

strtok() で ; で区切って、それぞれの文字列を
strstr() などで検索してやればよいと思います。


この投稿にコメントする

削除パスワード

No.4151

Re:指定文字列までの文字列とりだし
投稿者---nop(2005/07/01 11:33:02)


>指定文字列までの文字列とりだし機能をもった関数
>void STREDIT(char *STR) を作成したいのですが

このプロトタイプで、どうやって取り出した文字を返すのでしょうか?
元の文字列をいじるのでしょうか?

# そうだとすると、「取り出し」と言うより
# 「切り出し」と言うべきでは?


この投稿にコメントする

削除パスワード

No.4152

Re:指定文字列までの文字列とりだし
投稿者---yoshiaki(2005/07/01 13:25:51)


C初心者&投稿初めてなのでご迷惑かけますtt
やりたいのは、直接STRの文字列をかえたいのです。
また最初の";"以降は無視でいいです。
なので確かに「切り取り」のほうが表現がいいですね。
どこまでできているかというと、関数を調べてる程度です。
strncompで比較とか、いまstrstrもみるとこです。


この投稿にコメントする

削除パスワード

No.4153

Re:指定文字列までの文字列とりだし
投稿者---とおり(2005/07/01 13:42:31)


>また最初の";"以降は無視でいいです。

1.strchr() で ";" の検索
2.";" を "\0" で置換

でいかが?


この投稿にコメントする

削除パスワード

No.4156

Re:指定文字列までの文字列とりだし
投稿者---shu(2005/07/01 18:32:07)


char *str_edit( char *s1, const char *s2 )
{
    char *p = strstr( s1, s2 );
    
    if (???)
        if (p ??? s1)
            s1 += ???;
        else
            *p = '\0';
    
    return s1;
}



この投稿にコメントする

削除パスワード

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




掲示板提供:Real Integrity