24小时热门版块排行榜    

查看: 752  |  回复: 2

小木的微笑

木虫 (初入文坛)

[求助] C程序编程题 已有1人参与

应用C程序实现将若干个文件的内容依次复制插入到一个新文件new.txt中。

[ 发自手机版 http://muchong.com/3g ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木叶清风

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
小木的微笑: 金币+50, ★★★★★最佳答案 2014-01-03 18:19:02
xzhdty: 谢谢参与 2014-01-04 21:40:23
int main(int argc, char* argv [])
{
        if (argc < 3)
        {
                printf("You should input like this: exename outputfilename inputfilename_1 inputfilename_1 ... inputfilename_n\n";
                exit(-1);
        }

        FILE *fout = fopen(argv[1], "w";
        if (fout == NULL)
        {
                printf("Cannot open file %s to write results.\n", argv[1]);
                fclose(fout);
                exit(-1);
        }

        FILE *fin;
        for (int i = 2; i < argc; ++i)
        {
                fin = fopen(argv, "r";
                if (fin == NULL)
                {
                        printf("Cannot read input file: %s\n", argv);
                        fclose(fout);
                        fclose(fin);
                        exit(-1);
                }

                char c;
                //        size_t num = 0;
                while ((c = getc(fin)) != EOF) {
                        putc(c, fout);
                }
                putc('\n', fout);
                fclose(fin);
        }

        fclose(fout);
        return 0;
}

有的人可能会用下面的方法来读取整个文件,但是这样的方法处理"\r\n"的时候处理不好,得到的文件大小很多时候会出现错误。
char *fcontent = NULL;
        int fsize = 0;
       
        fseek(fp, 0, SEEK_END);
        fsize = ftell(fp);
        fseek(fp, 0, SEEK_SET);

        fcontent = (char*) malloc(sizeof(char) * fsize);
        fread(fcontent, 1, fsize, fp);
       
        return fcontent;

当然了,用c++还是比较方便的
        ofstream ofs(argv[1], ofstream:ut | ofstream::binary);
        ostream_iterator<char> ostm(ofs, "\n";
        for (int i = 2; i < argc; ++i)
        {
                ifstream ifs(argv, ifstream::in |ifstream::binary);
                ifs >> std::noskipws;
                copy(istream_iterator<char>(ifs), istream_iterator<char>(), ostm);
                ostm++ = '\r';
                ostm++ = '\n';
        }
上面的代码基本就可以了,单行空格也是可以处理的。

» 本帖已获得的红花(最新10朵)

www.cvdelver.com
2楼2014-01-02 16:00:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小木的微笑

木虫 (初入文坛)

送红花一朵
引用回帖:
2楼: Originally posted by 木叶清风 at 2014-01-02 16:00:12
int main(int argc, char* argv [])
{
        if (argc < 3)
        {
                printf("You should input like this: exename outputfilename inputfilename_1 inputfilename_1 ... inputfilename_n\n";
                exit(-1 ...

非常感谢帮助!

[ 发自小木虫客户端 ]
3楼2014-01-03 18:18:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 小木的微笑 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 ELBZ6WwEaRj6 2026-11-04 6/300 2026-11-05 18:11 by My20PsvIExYO
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 ttH3f1oA6ace 2026-11-04 6/300 2026-11-05 18:00 by My20PsvIExYO
[考研] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 ttH3f1oA6ace 2026-11-04 11/550 2026-11-05 17:58 by My20PsvIExYO
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 kvewwGtKktqB 2026-11-04 11/550 2026-11-05 17:47 by My20PsvIExYO
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +5 kvewwGtKktqB 2026-11-04 13/650 2026-11-05 17:47 by My20PsvIExYO
[考博] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 kvewwGtKktqB 2026-11-04 8/400 2026-11-05 17:47 by My20PsvIExYO
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 ncTVBM6AOJHF 2026-11-04 8/400 2026-11-05 17:38 by My20PsvIExYO
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 ncTVBM6AOJHF 2026-11-04 14/700 2026-11-05 17:36 by My20PsvIExYO
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +6 ncTVBM6AOJHF 2026-11-04 16/800 2026-11-05 17:25 by My20PsvIExYO
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +6 ncTVBM6AOJHF 2026-11-04 19/950 2026-11-05 17:25 by My20PsvIExYO
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 ncTVBM6AOJHF 2026-11-04 13/650 2026-11-05 17:15 by My20PsvIExYO
[基金申请] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 ELBZ6WwEaRj6 2026-11-04 7/350 2026-11-05 16:08 by My20PsvIExYO
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 ELBZ6WwEaRj6 2026-11-04 7/350 2026-11-05 16:08 by My20PsvIExYO
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 ttH3f1oA6ace 2026-11-04 9/450 2026-11-05 15:46 by My20PsvIExYO
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 hNpp4Y2CGvSC 2026-11-04 10/500 2026-11-05 15:35 by My20PsvIExYO
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 ncTVBM6AOJHF 2026-11-04 10/500 2026-11-05 15:24 by My20PsvIExYO
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 ncTVBM6AOJHF 2026-11-04 9/450 2026-11-05 15:13 by My20PsvIExYO
[教师之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 ncTVBM6AOJHF 2026-11-04 12/600 2026-11-05 11:10 by PYZmcHr5kSaq
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 ncTVBM6AOJHF 2026-11-04 10/500 2026-11-05 10:39 by PYZmcHr5kSaq
[基金申请] 各位基础老师们,看完中央《从严治党》的决定后,对学术界更加有信心了吧 +5 iaeyuan 2026-11-01 5/250 2026-11-04 14:43 by jinchengzi
信息提示
请填处理意见