[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 06/15 06:15 / Filesize : 299 KB / Number-of Response : 887
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C/C++の宿題を片付けます 104代目



1 名前:デフォルトの名無しさん [2008/02/04(月) 23:32:19 ]
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう.
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。

【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):()
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
【過去ログ検索】        chomework.sakura.ne.jp/
【wiki】               www23.atwiki.jp/homework/

【前スレ】
C/C++の宿題を片付けます 103代目
pc11.2ch.net/test/read.cgi/tech/1200318925/

55 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:11:59 ]
>>53
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6018.c

56 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:17:17 ]
>>55
39行目くらいの
fprintf(outfp, "%s", pstart); を fputs(pstart, outfp);
に変えてください
(別にどっちでもいいんだけど、統一させないと気持ち悪いから
どうも、fprintfを使うのが癖になってるな)

57 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:24:30 ]
>>53 便乗でゴミソース。 一度置換した文字列をバッファに確保すべきだろうか?
#include <stdio.h>
#include <string.h>
#define BSIZE 1024
int ismatch(char *str1, char *str2){
    while(*str1 == *str2){
        if(*str1 == '\0') return 0;
        if(*str2 == '\0') break;
        str1++, str2++;
    }
    return *str2 == '\0';
}
int main(int argc, char *argv[]){
    FILE *in, *out;
    int cnt = 0, len;
    char buf[BSIZE], *p;
    if(argc < 4) return fprintf(stderr, "Usage: <FILENAME> <STRING> <STRING> [FILENAME]\n"), 1;
    if((in = fopen(argv[1], "r")) == NULL) return perror(argv[1]), 1;
    if(argc < 5) out = stdout;
    else out = fopen(argv[4], "w");
    len = strlen(argv[2]);
    while(fgets(buf, sizeof(buf), in))
        for(p = buf; *p != '\0'; p++)
            if(ismatch(p, argv[2]))
                fputs(argv[3], out), p += len - 1, cnt++;
            else
                fputc(*p, out);
    fclose(in);
    if(argc >= 5) fclose(out);
    printf("\"%s\"-> \"%s\",(%d)\n", argv[2], argv[3], cnt);
    return 0;
}






[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<299KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef