#include
#include
#include
#include
#include
using namespace std;
void new_line(ifstream& fin,char& temp);
int main(int argc,char *argv[])
{
ifstream fin;
ofstream fout;
int num_line=1;
char temp,inFileName[128];
string buffer;
if(argc==1)
{
printf("请用格式:SetLineNUm filename\n");
exit(0);
}
else
{
strcpy(inFileName,argv[1]);
}
cout<<"正打开输入文件...\n";
fin.open(inFileName); //打开输入文件
if(fin.fail())
{
cout<<"输入文件打开失败!\n";
exit(1);
}
cout<<"正打开输出文件...\n";
fout.open("output.txt"); //打开输出文件
if(fout.fail())
{
cout<<"输出文件打开失败!\n";
exit(1);
}
do
{
new_line(fin,temp);
getline(fin,buffer);
if(buffer.length()>0)
{
fout< fout< fout< } } while(!fin.eof()); fin.close(); //关闭文件 fout.close(); cout<<"成功关闭输入输出文件。\n"; cout<<"程序结束。\n"; return 0; } void new_line(ifstream& fin,char& temp) { do //跳过行首空格和空行 { fin.get(temp); }while(isspace(temp)); } 最好把.exe文件和输入文件放在根目录下,因为程序要从控制台传入参数,z在cmd下输入格式为:execname filename (前面为可执行文件,无需后缀名,后面的是输入文件,要后缀名),txt格式下测试通过,二进制的你可以试一下^_^