0

我正在尝试编写一个程序,它可以显示文件的内容,然后由用户动态地将内容附加到 C 中的文本文件中。

下面是代码,但不知何故它适用于单行输入,即使在循环中也不适用于多行输入。

fobj=fopen("test3.txt","a");
if (fobj==NULL)
 {
  printf("Error opening the file.  ");
  exit(0);

 }
int contd;
char buff1[120];
char *chptr;
do
{
printf("Enter line : \n");

gets(buff1);

fputs(buff1,fobj);

printf("Enter Continuation code : ");
scanf("%d",&contd);

}while(contd!=0);
4

2 回答 2

0

得到

The newline character, if found, is not copied into str.

因此,您必须手动添加新行:

gets(buff1);
strcat(buff1, "\n");
于 2013-05-04T10:23:09.783 回答
0

您正面临典型的标准输入问题。您可以fflush(stdin);在获取之前使用,应该可以。

于 2013-05-04T11:37:28.747 回答