首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

在TXT文本文件中,两个文本内容转换有关问题

2012-02-25 
在TXT文本文件中,两个文本内容转换问题问题一:在文本(txt)中有大量的如以下格式文本AB@C(以上空白处为Tab

在TXT文本文件中,两个文本内容转换问题
问题一:在文本(txt)中有大量的如以下格式文本
A B@C
(以上空白处为Tab符)
我想把这些文本都变为
C # B % A

问题二:在文本(txt)中有大量的如以下格式文本
M X 
Y
我想把这些文本都变为
"X" & Y
(就是M去掉了,用“”包围X,再把回车变为了&)

怎么用c语言实现呢?

[解决办法]
呃,建议用PCRE
直接正则替换
[解决办法]
http://www.chinaunix.net/jh/23/303346.html
参考下
[解决办法]
func1和func2就对应你两个问题,试试吧:

C/C++ code
#include "stdio.h"void func1(FILE *fin, FILE *fout){    char a[100],b[100],c[100];    while(fscanf(fin,"%[^\t]\t%[^@]@%s\n",a,b,c)>=0)    {        fprintf(fout,"%s # %s %% %s\n",c,b,a);    }}void func2(FILE *fin, FILE *fout){    char a[100],b[100],c[100];    while(fscanf(fin,"%[^ ] %s\n%s\n",a,b,c)>=0)    {        fprintf(fout,"\"%s\" & %s\n",b,c);    }}void main(){    FILE *fin;    FILE *fout;    fin = fopen("in1.txt","r");    fout = fopen("out1.txt","w");    if(!fin || !fout)        return;    func1(fin,fout);    fclose(fin);    fclose(fout);        fin = fopen("in2.txt","r");    fout = fopen("out2.txt","w");    if(!fin || !fout)        return;    func2(fin,fout);    fclose(fin);    fclose(fout);}
[解决办法]
关注.

热点排行