| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2141 人关注过本帖
标题:新手写的一个好繁琐的程序,高手入
只看楼主 加入收藏
zhou_cyuyan
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-8-5
收藏
得分:0 
是不是写错了,
把i写成了1了吧??
2009-08-05 22:57
CrystalFan
Rank: 8Rank: 8
来 自:江苏南京
等 级:蝙蝠侠
帖 子:187
专家分:802
注 册:2009-7-30
收藏
得分:18 
程序代码:
#include<stdio.h> 
void main() 
{ 
    FILE* file[65]; 
    char s[100]; 
    int j,a; 
    char buffer[512]; 
    long len,i; 
/***********************打开file[0]***********************************/
    if((file[0]=fopen("C.bin","rb"))==NULL) 
    { 
        printf("cannot open file C\n"); 
        exit(0); 
    }
/**********************************************************/ 
    fseek(file[0],0,2); 
    len=ftell(file[0]); 
    fseek(file[0],0,0); 
/***********************打开输出的文件file[1]~file[64]**********************************/
    for(j=1;j<65;j++) 
    { 
        if(j<10) 
            sprintf(s,"0%d.bin",j); 
        else 
            sprintf(s,"%d.bin",j); 
        if((file[j]=fopen(s,"wb"))==NULL) 
        { 
            printf("cannot open file A\n"); 
            exit(0); 
        } 
    }
/*************************读取与写入文件数据*********************************/ 
    for(i=len;i>0;i-=32768)/*一次处理了4字节*/ 
        for(j=1;j<65;j++) 
        { 
            fread(buffer,sizeof(buffer),1,file[0]); 
            fwrite(buffer,sizeof(buffer),1,file[j]); 
        } 
/***********************关闭所有文件*********************************/
    for(j=0;j<65;j++) 
        fclose(file[j]); 
}


[[it] 本帖最后由 CrystalFan 于 2009-8-5 23:17 编辑 [/it]]
2009-08-05 23:00
kof888
Rank: 1
等 级:新手上路
帖 子:26
专家分:1
注 册:2009-4-1
收藏
得分:0 
谢谢回复的朋友,特别感谢CrystalFan和shiweifu,分不多才20分,不好意思啊,早知道多申请点分了
2009-08-06 00:27
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
        if(j<10)
            sprintf(s,"0%d.bin",j);
        else
            sprintf(s,"%d.bin",j);

=>

snprintf(s, 100, "%02d.bin", j);

安全和简易性。

专心编程………
飞燕算法初级群:3996098
我的Blog
2009-08-06 08:12
CrystalFan
Rank: 8Rank: 8
来 自:江苏南京
等 级:蝙蝠侠
帖 子:187
专家分:802
注 册:2009-7-30
收藏
得分:0 
回复 24楼 StarWing83

版主考虑果然周到!
只是我编译时找不到snprintf()函数,不知要包含哪个头文件?
2009-08-06 19:08
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
snprintf 是C99新标里面的,GCC和VC2008应该都支持,其余的都不知道了,如果使用的是老版的VC可以尝试一下sprintf_safe或_snprintf这些函数。查一下MSDN看看有没有对这些函数的支持。

专心编程………
飞燕算法初级群:3996098
我的Blog
2009-08-06 20:48
devotion
Rank: 2
来 自:浙江杭州
等 级:论坛游民
帖 子:33
专家分:17
注 册:2009-8-3
收藏
得分:0 
完全看晕了

在我的懷里你不用害怕失眠...
2009-08-06 23:16
快速回复:新手写的一个好繁琐的程序,高手入
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040437 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved