我正在编写一个程序,使用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);
}
答案 0 :(得分:0)
当您找到换行符(ascii代码10)时,您将停止读取字符,然后将其替换为'\ 0'。因此,如果将其写入输出文件,它显然不包含任何换行符。你的程序输入源是否没有换行?