C语言的输入与输出

来源:百度知道 编辑:UC知道 时间:2024/05/21 09:20:43
#include <stdio.h>
void main()
{
FILE * fp;
char ch,filename[11];
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
ch=getchar();
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);
putchar(ch);
ch=getchar();
}
fclose(fp);
}
运行时,比如输入文件名
aaa
在输入内容
sdfsdf#
输出
sdfsdf
解释是第一个getchar接受使用scanf最后时用的回车
我的问题就是电脑是怎么读和取得如果是按和输入时的顺序一样第一个getchar怎么会得到回车呢,如果是倒着来读取,那输出时又怎么会和输入时一样呢?
还有在建立新的文件时我能不能控制它存放的位置,并且制定它的属性,如txt什么的

你好,C语言是把输入看成一个流,也就是可以理解成是连续的字符串,如果你输入aaa回车bbb,那在C语言看来就是aaa\nbbb。
如果是读取字符串,scanf是以空格、换行符等作为终止符的,而且scanf会自动吞掉这个符号。

main函数用带参数的试一试!!