美文网首页
把dat文件(或其他文件)转化为txt文件的小工具

把dat文件(或其他文件)转化为txt文件的小工具

作者: 霁纯 | 来源:发表于2016-09-22 16:30 被阅读0次

    最近在处理实验数据的时候,发现采集到的data数据文件不能被读取,而且前面有一些系统信息,所以写了一个小工具把一个文件夹里的所有.dat文件转化为.txt文件,并且略去前面的几行。

    //
    //  main.m
    //  dat2txtlime
    //
    //  Created by Adan on 16/9/20.
    //  Copyright © 2016年 Adan. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            NSString *directory = [NSString stringWithUTF8String:"/Users/Adan/Desktop/r/data2"]; //母文件夹
            NSFileManager *manager = [NSFileManager defaultManager];
            NSArray *dirArray = [manager contentsOfDirectoryAtPath:directory error:nil]; //文件名数组
            
            char filename[256];
            int i = 1;
            for(NSString __strong *str in dirArray){
                if(str == [NSString stringWithUTF8String:".DS_Store"]){
                    continue;
                }
              
                NSString *directory2 = [NSString stringWithUTF8String:"/Users/Adan/Desktop/r/data2/"];
                directory2 = [directory2 stringByAppendingString:str];
                //这里要把两个字符串接在一起,是因为dirArray里保存的是文件夹里的文件名,而不包括母文件夹的地址。
                str = [directory2 copy];
                
                FILE *fp = fopen([str UTF8String], "r");
                if (!fp) {
                    NSLog(@"Can't find directory!");
                    exit(0);
                }
                sprintf(filename, "/Users/Adan/Desktop/r/output/outdata_%03d.txt",i);
                i++;
                FILE *fpout = fopen(filename, "wb");
                
                char c;
                int j = 0;
                while ((c=fgetc(fp))!=EOF) {
                    if (c == '\\r') {
                        j ++;
                    }
                    
                    if (j > 17) { //17是忽略的行数
                        if (c == ','||c == '\\t'||c == ' ') { //这个条件语句是针对.csv文件,制表符文本文件,空格分割文本文件,忽略一切影响数据读取的字符
                            continue;
                        }
                        fprintf(fpout, "%c", c); 
                    }
                }
            }
        }
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:把dat文件(或其他文件)转化为txt文件的小工具

          本文链接:https://www.haomeiwen.com/subject/mnmzettx.html