当前位置: 代码迷 >> C语言 >> 急!!!!!!求 文本文件2行合为1行显示的程序
  详细解决方案

急!!!!!!求 文本文件2行合为1行显示的程序

热度:244   发布时间:2007-12-09 16:46:12.0
急!!!!!!求 文本文件2行合为1行显示的程序
各位   我问的2行合为1行的程序   请在帮忙修改一下   是输出的时候每2行合为1行   而不是所有的内容合为一行   也就是像这样
111
222
333
444
555
666
合为
111222
333444
555666
我这里有一个程序 但是它是把所有的合为一行 而不是2行合为1行

#include   <stdio.h>
#include   <stdlib.h>
int   main(void)
{
FILE   *fp;
char   *str;
char   c;
char a[100];
int   i   =   0;
str   =   (char   *)   malloc   (1001);
fp   =   fopen   ("answer.txt",   "rb");
while   (1)
{
if   (feof   (fp))
{
break;
}
c   =   getc   (fp);
if   (c   ==   '   '   ||   c   ==   '\n'   ||   c   ==   '\t'   ||   c   ==   13)
{
continue;
}
str[i++]   =   c;
}str[i]   =   '\0';

puts   (str);
free   (str);
printf("Do you want to  memory the content?(agree with 'yes')\n");   
        fgets(&a[0],   4,   stdin);
if(strncmp(&a[0],   "yes",   3)==   0)
{
fclose   (fp);

}
return   0;
}
搜索更多相关的解决方案: 文本文件  

----------------解决方案--------------------------------------------------------
多定义一个变量int f=1;

if   (c   ==   '   '   ||   c   ==   '\n'   ||   c   ==   '\t'   ||   c   ==   13)
改成
if   ((c   ==   '   '   ||   c   ==   '\n'   ||   c   ==   '\t'   ||   c   ==   13) && ((f++)%2) )
----------------解决方案--------------------------------------------------------
好像换行就c   ==   '\n'这个条件就够了吧,还是你还需要替换空格什么的
----------------解决方案--------------------------------------------------------