当前位置: 技术问答>linux和unix
unix下用c程序如何实现一行一行的复制数据
来源: 互联网 发布时间:2016-06-11
本文导语: 偶在一个程序中生成一个临时文件,文件以“n”作为每行换行符号,有的行直接就一个“n”符号(就是空白行的意思)。 用UE打开都是正常的。 现在需要一行一行读这个临时文件,并把读到的行写入新文件中,语句...
偶在一个程序中生成一个临时文件,文件以“n”作为每行换行符号,有的行直接就一个“n”符号(就是空白行的意思)。
用UE打开都是正常的。
现在需要一行一行读这个临时文件,并把读到的行写入新文件中,语句如下:
for(a=0;a= 2)
{
fpin = fopen(argv[1], "rb");
if (NULL == fpin)
{
perror(argv[1]);
return (1);
}
}
else
{
fpin = stdin;
}
if (argc >= 3)
{
fpout = fopen(argv[2], "wb");
if (NULL == fpout)
{
perror(argv[2]);
return (1);
}
}
else
{
fpout = stdout;
}
for (;;)
{
ptr = fgets(buf, sizeof(buf), fpin);
if (NULL != ptr)
{
fputs(buf, fpout);
}
else
{
break;
}
}
fclose(fpin);
fclose(fpout);
return 0;
}
用UE打开都是正常的。
现在需要一行一行读这个临时文件,并把读到的行写入新文件中,语句如下:
for(a=0;a= 2)
{
fpin = fopen(argv[1], "rb");
if (NULL == fpin)
{
perror(argv[1]);
return (1);
}
}
else
{
fpin = stdin;
}
if (argc >= 3)
{
fpout = fopen(argv[2], "wb");
if (NULL == fpout)
{
perror(argv[2]);
return (1);
}
}
else
{
fpout = stdout;
}
for (;;)
{
ptr = fgets(buf, sizeof(buf), fpin);
if (NULL != ptr)
{
fputs(buf, fpout);
}
else
{
break;
}
}
fclose(fpin);
fclose(fpout);
return 0;
}