24小时热门版块排行榜    

查看: 555  |  回复: 2
当前主题已经存档。

zzgyb

荣誉版主 (文坛精英)


[资源] Windows格式的文件转成Unix格式的文件

Windows格式的文件转成Unix格式的文件
/* win2unix */
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "string.h"

int main(int argv, char * args[]){

  FILE *fp1,*fp2;
  char c;
  char s[100];

  if(argv<2){
    printf("Usage: win2unix input-file-name [output-file-name]";
    return 1;
  }

  if((fp1=fopen(args[1],"rb")==NULL){
    printf("Error: Fail to open %s.",args[1]);
    return 1;
  }

  if(argv==2){
    sprintf(s,"u_%s",args[1]);
  }
  else{
   sprintf(s,"%s",args[2]);
   if(strcmp(s,args[1])==0){
      printf("Error: Output file name must not be same to that of the input file.";
      fclose(fp1);
      return 1;
   }
  }
  fp2=fopen(s,"wb";

  while(1){
    c=fgetc(fp1);
    if(feof(fp1)!=0){
      break;
    }
    if(c!='\r'){
      fputc(c,fp2);
    }
  }

  fclose(fp1);
  fclose(fp2);
  return 0;


}




附:如果在Unix下,只消几行语句就可以解决问题:

#!/bin/sh
tr -d '\015' < "$1" >temp.$$
mv temp.$$ "$1"
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhuly

银虫 (小有名气)


dos2unix 就搞定了
2楼2008-01-08 13:37:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangyili

金虫 (小有名气)


同意二楼的.我记得对分隔栏是这样转的吧.
3楼2008-01-08 15:32:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zzgyb 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见