1.txt内容为:
-----------------------
#BGP:
#white
#SONG ML101
#001 short00 0 0 250
#SFX SP00_C001_S1
------------------------
2.txt内容为:
------------------------
#002 short01 0 0 250
#003 short02 0 0 250
#004 short03 0 0 250
------------------------
3.txt内容为:
------------------------
#007 short06 0 0 250
#SFX SP00_C003_S1
#END
------------------------
需要将这个目录下面这些txt文件的内容读取到一个txt文件中。注意考虑多个txt文件的情况
希望懂的朋友解答下,非常感谢!!!
6 个解决方案
#1
1、先用findfirst/findnext搜索所有txt文件;
2、再用fopen/fclose/fread/fwrite逐个以二进制的方式读取txt文件的全部内容,依次写入新文件中。
2、再用fopen/fclose/fread/fwrite逐个以二进制的方式读取txt文件的全部内容,依次写入新文件中。
#2
system("cmd /c copy d:\\mydir\\*.txt d:\\all.txt");//将d:\mydir\*.txt的内容写入到d:\all.txt中。
#3
c语言的话!
就逐个读文件,写到新的同一个文件中就好了!
基本的文件操作
就逐个读文件,写到新的同一个文件中就好了!
基本的文件操作
//google下这几个api的用法,自己动手写写
fopen();
fread();
fwrite();
fclose();
#4
type *.txt >log.log
#5
赵老师!谢谢你,这个问题解决了,还有一个问题就是我用
fgets()读取每一行的数据。
用strstr()识别这些行:
#SFX
#SONG
那么怎么识别出
#001
#002
#003
....
....
这些‘#’+数字(有可能是3位数,有可能是四位数)的行呢。
fgets()读取每一行的数据。
用strstr()识别这些行:
#SFX
#SONG
那么怎么识别出
#001
#002
#003
....
....
这些‘#’+数字(有可能是3位数,有可能是四位数)的行呢。
#6
FILE *f;
char ln[80];
int n;
while (1) {
if (NULL==fgets(ln,80,f)) break;
if (1==sscanf(ln,"#%d",&n)) {
//ln是以#数字开头
}
}
#1
1、先用findfirst/findnext搜索所有txt文件;
2、再用fopen/fclose/fread/fwrite逐个以二进制的方式读取txt文件的全部内容,依次写入新文件中。
2、再用fopen/fclose/fread/fwrite逐个以二进制的方式读取txt文件的全部内容,依次写入新文件中。
#2
system("cmd /c copy d:\\mydir\\*.txt d:\\all.txt");//将d:\mydir\*.txt的内容写入到d:\all.txt中。
#3
c语言的话!
就逐个读文件,写到新的同一个文件中就好了!
基本的文件操作
就逐个读文件,写到新的同一个文件中就好了!
基本的文件操作
//google下这几个api的用法,自己动手写写
fopen();
fread();
fwrite();
fclose();
#4
type *.txt >log.log
#5
赵老师!谢谢你,这个问题解决了,还有一个问题就是我用
fgets()读取每一行的数据。
用strstr()识别这些行:
#SFX
#SONG
那么怎么识别出
#001
#002
#003
....
....
这些‘#’+数字(有可能是3位数,有可能是四位数)的行呢。
fgets()读取每一行的数据。
用strstr()识别这些行:
#SFX
#SONG
那么怎么识别出
#001
#002
#003
....
....
这些‘#’+数字(有可能是3位数,有可能是四位数)的行呢。
#6
FILE *f;
char ln[80];
int n;
while (1) {
if (NULL==fgets(ln,80,f)) break;
if (1==sscanf(ln,"#%d",&n)) {
//ln是以#数字开头
}
}