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

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

 詳しくはこちら



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

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


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

No.18851

文字列区切りについて
投稿者---PASSO(2004/12/22 14:16:01)


c言語初心者です。質問させていただきます。
-------------------------------------------------------------------

while ( fgets(buf,256,fp) != (char *)NULL ) {
if ( '0' <= buf[0] && buf[0] <= '9' ) {
strtok(buf, "\t");

strcpy(tmp1,strtok('\0', "\n"));

printf("%s\n", tmp1);
}

}
-------------------------------------------------------------------上のようなプログラムで、

-----------------------------------------
strtok(buf, "\t");
strcpy(tmp1,strtok('\0', "\n"));
-----------------------------------------
記述する場合と、

-----------------------------------------
strtok(buf, "\t");
strtok('\0', "\n");
strcpy(tmp1,buf);
-----------------------------------------
ではどう違うんでしょうか?



この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:文字列区切りについて 18852 επιστημη 2004/12/22 14:22:35
<子記事> Re:文字列区切りについて 18862 RAPT 2004/12/23 03:24:38


No.18852

Re:文字列区切りについて
投稿者---επιστημη(2004/12/22 14:22:35)


>...
>ではどう違うんでしょうか?

やってみればわかるんじゃないですか?



この投稿にコメントする

削除パスワード

No.18862

Re:文字列区切りについて
投稿者---RAPT(2004/12/23 03:24:38)


> while ( fgets(buf,256,fp) != (char *)NULL ) {
NULLに対し、キャストは不要。

> strtok('\0', "\n");
strtok()の第一引数は、char* 型だが、'\0' はint型。
正しくは、strtok(NULL, "\n"); とすべき。

質問については、bufに"AAA\tBBB\nCCC"とでも入れて
やってみりゃ分かることでしょう。



この投稿にコメントする

削除パスワード

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