-2

我正在编写一个程序,它使用 getchar() 将输入作为字符序列,并使用 fopen() 和 putc() 函数创建 pro.cpp 源代码文件。

当我编译这个程序创建的源代码文件时,它会产生错误。如果我从新行开始 int main{},则可以解决此错误。所以我需要在 #include 和 int main{ } 之间输入换行符

我不知道该怎么做。

#include<stdio.h> 
int main()
{
    FILE *fp;
    char pgm[100];
    char *p_pgm;

 p_pgm=pgm;

 printf("Enter the program as a input");

 while((*p_pgm=getchar())!=10)
     p_pgm++;

 *p_pgm ='\0';


 fp =fopen("e:\\pro.cpp","w");
 while(*p_pgm!='\0')
     putc(*p_pgm++,fp);  


 fclose(fp);


}
4

1 回答 1

0

当您找到换行符(ascii 代码 10)时,您将停止读取字符,然后将其替换为 '\0'。因此,如果您将其写入输出文件,它显然不包含任何换行符。您的程序使用的输入源是否没有换行符?

于 2013-05-30T13:39:28.413 回答