C语言如何调用别的程序?

来源:百度知道 编辑:UC知道 时间:2024/07/04 13:18:31
我写了一个程序,是对一个txt文件进行处理,得到数据特征后写入另外一个txt内。但是我待处理的txt文件有很多个,因此生成的txt也有不少。手动改程序中的文件名比较麻烦。不知道有什么解决办法?具体点,就是:
if((fp1=fopen("c2.txt","w+"))==NULL)
{
cout<<"can't creat file"<<endl;
exit(0);
}
这里c2.txt每次都要改成相应的文件名,很是麻烦。
所以我想对每个文件都写这样的一个c程序,然后再写一个新的程序对之前的C程序进行调用。不知道用system函数可行吗。

其实这个方法比较笨,哪位高人知道如何让程序自己对每个文件进行读取、处理、生成相应的txt文件。。。感谢!
看到有人回答:string fnames[] = { "c1.txt", "c2.txt", ... }
for( i = 0; i < len; i++ )
your_operations
我在想,是不是可以这样用:

void c(char ch1[],char ch2[])
{
FILE *fp1,*fp2;
fp1=fopen("ch1[]","r");
fp2=fopen("ch2[]","r");
...
}
main()
{
fname1[]="c1.txt";
fname1[]="c2.txt";
c(fname1[],fname2[]);
}
这样调用可以吗?我觉得会有问题。。。

你给程序加个参数嘛,参数输入你需要处理的文件所在的文件夹,然后遍例文件夹所有.txt结尾的文本,一一处理.不就结了?
具体怎么做可以参考下面这个连接:
http://blog.csdn.net/happytang/archive/2006/06/13/795719.aspx
有问题可以给我发站内信

使用system函数当然没有问题.
但是你对每一个文件都写一个程序不是更麻烦.
建议你将这些东西写进配置文件.从配置文件得到相应的文件名,要不然文件有10000个你要写10000个c程序?

处理的文件名有没有规律?有规律,那么程序实现规律。
无规律,可以加个窗口,来选择文件。
或者写个配置文件,里面列出了所的文件名。

1)
string fnames[] = { "c1.txt", "c2.txt", ... }
for( i = 0; i < len; i++ )
your_operations

2)FindFirstFile, FindNextFile, FindClose