RT
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int GetNoSpsce(char *src,char *dst)
{
if(src==NULL) return ;
else{
int i=0,j=0,q=0;
for(i=0;i<strlen(src);i++)
{if(src[i]!=' ')
{dst[j]=src[i];j++;}
}
dst[j]='\0';
return *dst;
}
}
int main (void)
{
FILE * out , *in ;
char line[500],temp[500];
char mer_code[16],term_code[9],key[33],flag[3];
int i ;
out=fopen("C:/cygwin/home/andrew/ab.txt","r");
if(out!=NULL)
{
while(fgets(line,590,out))
{
GetNoSpsce(line,temp);
sscanf(line,"%1s",flag);
if(strcmp(flag,"I")==0&&strlen(line)>100) {
sscanf(temp,"%1s,%15s,%8s,%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%32s,%*s",flag,mer_code,term_code,key);
printf("\"%s\",\"%s\",\"12345678\",\"%s\",\"%s\"\n",mer_code,term_code,key,key);
}
//printf("%s",line);
}
}
else puts("file not exists(文件不存在)");
fclose(out);
}
ab.txt 文件格式及内容如下:
共两行:
I,000000000001080,00000080,0812345678,0812345678,00,1,1,1,D00,156,1,1,1,3,GSATREGADYGAFAGTASGARTARAGRYRTYT,GSATREGADYGAFAGTASGARTARAGRYRTYT,20111107,29991231,1,1,1,1,1,02,02,01,01,156,P,02,DR7,0812345678,0812345678
I,000000000001081,00000081,0812345678,0812345678,00,1,1,1,D00,156,1,1,1,3,YSATREAFAGAFAGTASGARTAAFADRYRTYT,YSATREAFAGAFAGTASGARTAAFADRYRTYT,20111107,29991231,1,1,1,1,1,02,02,01,01,156,P,02,DR7,0812345678,0812345678
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int GetNoSpsce(char *src,char *dst)
{
if(src==NULL) return ;
else{
int i=0,j=0,q=0;
for(i=0;i<strlen(src);i++)
{if(src[i]!=' ')
{dst[j]=src[i];j++;}
}
dst[j]='\0';
return *dst;
}
}
int main (void)
{
FILE * out , *in ;
char line[500],temp[500];
char mer_code[16],term_code[9],key[33],flag[3];
int i ;
out=fopen("C:/cygwin/home/andrew/ab.txt","r");
if(out!=NULL)
{
while(fgets(line,590,out))
{
GetNoSpsce(line,temp);
sscanf(line,"%1s",flag);
if(strcmp(flag,"I")==0&&strlen(line)>100) {
sscanf(temp,"%1s,%15s,%8s,%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%32s,%*s",flag,mer_code,term_code,key);
printf("\"%s\",\"%s\",\"12345678\",\"%s\",\"%s\"\n",mer_code,term_code,key,key);
}
//printf("%s",line);
}
}
else puts("file not exists(文件不存在)");
fclose(out);
}
ab.txt 文件格式及内容如下:
共两行:
I,000000000001080,00000080,0812345678,0812345678,00,1,1,1,D00,156,1,1,1,3,GSATREGADYGAFAGTASGARTARAGRYRTYT,GSATREGADYGAFAGTASGARTARAGRYRTYT,20111107,29991231,1,1,1,1,1,02,02,01,01,156,P,02,DR7,0812345678,0812345678
I,000000000001081,00000081,0812345678,0812345678,00,1,1,1,D00,156,1,1,1,3,YSATREAFAGAFAGTASGARTAAFADRYRTYT,YSATREAFAGAFAGTASGARTAAFADRYRTYT,20111107,29991231,1,1,1,1,1,02,02,01,01,156,P,02,DR7,0812345678,0812345678
strlen用 string.Length
strcmp 就是比较
File* 那个就是操作文件的,你用filestream就行,你看懂了就没必要翻译,自己写一个就行了
using System.IO;namespace ConsoleApplication1
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread] private static void GetNoSpace(byte []src,ref char []dst)
{
if(src==null)
{
return ;
}
else
{
int j = 0;
for(int i = 0; i < src.Length;i++)
{
if(src[i]!=' ')
{
dst[j]=Convert.ToChar(int.Parse(src[i].ToString().Trim()));
j++;
}
}
}
} private static string ConvertToString4CharArray(char []array)
{
string returnVal = string.Empty;
if(array!=null)
{
for(int i = 0; i < array.Length ;i++ )
{
returnVal += array[i].ToString();
}
} return returnVal;
}
static void Main(string[] args)
{
char []line = new char[500];
char []temp = new char[500];
string mer_code=string.Empty,term_code=string.Empty,key=string.Empty;
char flag = new char();
int j = 0;
string filepath = @"C:/cygwin/home/andrew/ab.txt";
FileStream file = new FileStream(filepath,FileMode.Open);
int size = int.Parse(file.Length.ToString());
byte[] buff = new byte[size] ;
file.Read(buff,0,size);
if(File.Exists(filepath))
{
if(buff.Length> 0)
{
GetNoSpace(buff,ref temp);
flag = temp[0];
if(flag.ToString().Equals("I") && buff.Length > 100)
{
string dataString = ConvertToString4CharArray(temp).Replace(",","").Replace("\0","");
string []dataArray = dataString.Split('\n');
for(int i = 0; i< dataArray.Length ;i++)
{
if(dataArray[i]!="")
{
mer_code = dataArray[i].Substring(1,15);
term_code = dataArray[i].Substring(16,8);
key = dataArray[i].Substring(25,33);
System.Console.WriteLine(string.Format("{0},{1},{2},{3}",mer_code,term_code,key,flag.ToString()));
} }
System.Console.Read();
}
}
}
}
}
}