大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
从文件内容读入和输出可以使用fscanf、fprintf
创新互联建站自2013年创立以来,先为广德等服务建站,广德等地企业,进行企业商务咨询服务。为广德企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
如:
fscanf(fp,
"%d",
num);
//从文件fp读入一个整数到num变量
fprintf(fp,
"%d",
num);
//将num变量的值输出到文件fp
屏幕也可以看作一个文件流,输入是stdin,输出是stdout,如输出到屏幕,就是:
fprintf(stdout,
"%d",
num);
#include stdio.h
#define MAX 50 /* 文件名长度最大为 MAX 个字符 */
#define BUFFERLEN /* 文件缓冲区长度最大为 BUFFERLEN 个字符 */
void main( )
{
FILE * fpr ; /* 定义一个文件指针变量 fpr */
char my_filename[MAX], buffer[BUFFERLEN] ;
gets(my_filename) ; /* 从键盘上输入要打开的文本文件名 */
fpr = fopen(my_filename, "r" ) ; /* r:以文本方式打开文件 */
if( fpr == NULL ) /* 若文件打开失败,则输出错误信息,并直接退出程序 */
{
printf("Can't open %s for read !\n", my_filename ) ;
exit(1) ;
}
fgets(buffer, BUFFERLEN, fpr ) ; /* 从文本文件中读取一行数据 */
while( !feof(fpr) ) /* 当文件没有结束时,输出一行文本内容到屏幕 */
{
printf("%s", buffer) ;
fgets(buffer, 500, fpr) ; /* 再从文本文件中读取下一行数据 */
}
fclose(fpr) ; /* 当整个文件内容读取结束时,关闭文件指针 */
}
一:格式输出函数printf()
1、调用形式一般为:printf("格式化控制字符串",输出表列);
2、格式化控制字符串用于指定输出格式,它有三种形式:
1、格式说明符:规定了相应输出表列内容的输出格式,以%打头,如%d、%o等
2、转义字符:用来输出转义字符所代表的控制代码或者特殊字符,比如常用的‘\n'、‘\t'
3、普通字符:需要原样输出的字符。
3、输出表列为若干需要输出的数据项,它与格式说明符在数量和类型上一一对应;
4、格式字符m指定输出数据所占宽度,n对实数表示输出n位小数,对字符串表示截取的字符个数,+表示右对齐,通常省略。
—表示左对齐,l用于长整型数据,可加在d、o、x、u前,更多格式说明符及其组合形式如下所示:
格式字符
数据对象
输出形式
数据输出方法
%(+)-md
int
unsigned
int
short
unsigned
short
char
十进制整数
1、无m按实际位数输出
2、有m输出m位;超过m位,按实际位数输出,不足补空格
3、有+(默认为+)右对齐(左补空格)
4、有-左对齐(右补空格)
%(+)-mo
八进制整数
%(+)-mx
十六进制整数
%(+)-mu
无符号整数
%(+)-mld
long
unsigned
long
十进制整数
%(+)-mlo
八进制整数
%(+)-mlx
十六进制整数
%(+)-mlu
无符号整数
%(+)-m.nf
float
double
十进制小数
%(+)-m.ne
十进制指数
%(+)-g
自动选用%f和%e中较短的输出宽度输出单、双精度浮点数
%(+)-mc
char
int
short
单个字符
1、无m输出单个字符
2、有m输出m位,补空格
3、有+(默认为+)右对齐(左补空格)
4、有-左对齐(右补空格)
%(+)-m.ns
字符串
一串字符
1.无m、n按实际字符串输出全部字符
2、有m、n仅输出前n个字符,补空格
3.有+(默认为+)右对齐(左补空格)
4、有-左对齐(右补空格)
二:格式输入函数scanf()
1、
调用格式一般为:scanf("格式化控制字符串",地址表列);
2、格式化控制字符串和printf()函数含义相似,所不同的是它是对输入格式进行控制;
3、地址表列是有若干等待输入的数据所对应的内存单元地址组成,由逗号隔开,一般形式为a,a为变量;
4、地址表列在数量和类型上和格式化控制字符串中的格式说明符一一对应;
5、格式字符h表示输入短型数据,可用在d、o、x前面,m指定输入数据所占宽度,
*表示对应的数据项读入后不赋给相应的变量,更多格式说明符及其组合如下
格式字符
数据对象
输入形式
数据输入方法
%md
int
short
unsigned
int
unsigned
short
十进制整数
1、无m按实际位数输入
2、有m输入m位,不足m则跟回车键
%mo
八进制整数
%mx
十六进制整数
%mld
long
unsigned
long
十进制整数
%mlo
八进制整数
%mlx
十六进制整数
%mlf
float
double
十进制整数
%mle
%mc
char
单个字符
1、无m取单个字符
2、有m输入m位,仅取第一个字符
%ms
字符串
一串字符
1、无m取回车或空格前若干字符
2、有m仅取前m字符
以下程序能将文件原文输出到屏幕:
#includestdio.h
#includestdlib.h
int main()
{
FILE *fp;
char ch;
fp=fopen("D:\\f1.txt","r");
if(!fp)
{
printf("can't open file\n");
exit(1);
}
while ((ch=fgetc(fp))!=EOF)
printf("%c", ch);
fclose(fp);
return 0;
}