Chinaunix首页 | 论坛 | 博客
  • 博客访问: 831602
  • 博文数量: 137
  • 博客积分: 3477
  • 博客等级: 中校
  • 技术积分: 1409
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-30 21:53
文章分类

全部博文(137)

文章存档

2024年(8)

2023年(10)

2022年(4)

2021年(10)

2020年(9)

2018年(1)

2017年(1)

2014年(4)

2013年(3)

2012年(12)

2011年(24)

2010年(2)

2009年(8)

2008年(6)

2007年(34)

2006年(1)

分类: C/C++

2008-04-30 15:50:26

目的:去掉 DOS 文本文件中的回车符号,将 DOS/Windows 格式的文本文件转换成 Unix 格式的文本文件。
 
风之舞原创作品,转载请注明来源。
 
#include
#include
#include
#include
#include
#include
#include

int main ( int argc , char **argv )
{
        int             ret,fp,fd;
        char            cs[2];
        char            *filebuff;
        struct  stat    buf;
        size_t          filelen;
        if ( stat(argv[1],&buf) == 0 )
                filelen = buf.st_size ;
        else
                filelen = 0 ;
        if ( (filebuff = malloc(sizeof(char) * filelen )) == NULL )
        {
                perror("Malloc memory error !\n");
                exit( -1 );
        }
        bzero(filebuff, filelen );
        if ( ( fp = open ( argv[1] ,O_RDONLY ) ) == NULL )
        {
                free(filebuff);
                perror("This argv[1] error !\n");
                exit(-1);
        }
        ret = 0;
        while( read( fp , cs , 1) != 0 )
        {
                if ( cs[0] != '\015' )
                {
                        *(filebuff+ret) = cs[0];
                        ret++;
                }
        }
        close(fp);
        if ( (fd = open ( argv[1] ,O_WRONLY | O_CREAT | O_TRUNC )) == NULL )
        {
                free(filebuff);
                perror("Open File argv[1] error !\n");
                exit(-1);
        }
        fprintf(stderr,"BUFF =[ %s ] \nFILELEN = [ %d ]\n",filebuff,ret);
        write( fd , filebuff , ret );
        close(fd);
        free(filebuff);
        exit(0);
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
以上程序代码在 SCO OpenServer 6.0 MP3 下和 RHEL AS4Up5 系统下均调试通过。
 
需要指出的是,以上仅仅是测试代码,稍加修改,可写成完整的 dos2unix 程序代码,当然,如果修改代码逆向操作,可以写出一个 Unix2Dos 的程序代码。
 
阅读(2796) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~