fprintf函数的用法是什么
用法示例:将数据输入到文件1.txt中并打开1.txt文件。
#include 《stdio.h》
#include 《stdlib.h》
FILE* stream;
int main()
{
int i = 10;
double fp = 1.5;
char s = “this is a string“;
char c = ’\n’;
stream = fopen(“1.txt“, “w“);
fprintf(stream, “%s%c“, s, c);
fprintf(stream, “%d\n“, i);
fprintf(stream, “%f\n“, fp);
fclose(stream);
system(“1.txt“);
return 0;
}
扩展资料:
fprintf函数可以将数据按指定格式写入到文本文件中。其调用格式为:
数据的格式化输出:fprintf(fid,format,variables)
按指定的格式将变量的值输出到屏幕或指定文件
fid为文件句柄,若缺省,则输出到屏幕
1forstandardoutput(thescreen)or2forstandarderror.IfFIDisomitted,outputgoestothescreen.
format用来指定数据输出时采用的格式
%d整数
%e实数:科学计算法形式
%f实数:小数形式
%g由系统自动选取上述两种格式之一
%s输出字符串
fprintf(fid,format,A)
说明:fid为文件句柄,指定要写入数据的文件,format是用来控制所写数据格式的格式符,与fscanf函数相同,A是用来存放数据的矩阵。
例6.9创建一个字符矩阵并存入磁盘,再读出赋值给另一个矩阵。
》》a=’string’;
》》fid=fopen(’d:\char1.txt’,’w’);
》》fprintf(fid,’%s’,a);
》》fclose(fid);
》》fid1=fopen(’d:\char1.txt’,’rt’);
》》fid1=fopen(’d:\char1.txt’,’rt’);
》》b=fscanf(fid1,’%s’)
b=
string
matlab读txt文件
fid=fopen(’fx.txt’,’r’);
%得到文件号
[f,count]=fscanf(fid,’%f%f’,[12,90]);
%把文件号1的数据读到f中。其中f是的矩阵
%这里’%f%f’表示读取数据的形势,他是按原始数据型读出
fclose(fid);
%关闭文件
另外有的txt文件还可以用load来打开
其语句为
f=load(’fx.txt)
参考资料来源:百度百科-fprintf
fprintf()函数和fscanf()函数会使文件指针向后移动吗
fprintf()函数和fscanf()函数会使文件指针向后移动。
int fprintf (FILE* stream, const char*format, [argument])
其中,FILE*stream为文件指针,const char* format以什么样的格式输出,[argument]为输入列表。
例子:
#include 《stdio.h》
#include 《stdlib.h》
#include 《process.h》
FILE* stream;
int main(void)
{
int i = 10;
double fp = 1.5;
char s = “this is a string“;
char c = ’\n’;
stream = fopen(“fprintf.out“, “w“);
fprintf(stream, “%s%c“, s, c);
fprintf(stream, “%d\n“, i);
fprintf(stream, “%f\n“, fp);
fclose(stream);
system(“typefprintf.out“);
return 0;
}
屏幕输出:
this is a string
10
1.500000
函数名: fscanf
功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。这与fgets有区别,fgets遇到空格不结束。
返回值:整型,成功返回读入的参数的个数,失败返回EOF(-1)。
例子:
#include 《stdlib.h》
#include 《stdio.h》
int main(void)
{
int i;
printf(“Input an integer:“);
/*read an integer from the standard input stream*/
if(fscanf(stdin,“%d“,&i))
printf(“The integer read was:%d\n“,i);
else
{
fprintf(stderr,“Error reading an\
integer from stdin.\n“);//返回EOF如果读取到文件结尾。
exit(1);
}
return0;
}
C语言 fprintf和fscanf 语法规则是什么
-
fprintf函数:
头文件:#include 《stdio.h》
定义函数:int fprintf(FILE * stream, const char * format, …);
函数说明:fprintf()会根据参数format 字符串来转换并格式化数据, 然后将结果输出到参数stream 指定的文件中, 直到出现字符串结束(’\0’)为止。
返回值:关于参数format 字符串的格式请参考printf(). 成功则返回实际输出的字符数, 失败则返回-1, 错误原因存于errno 中.
范例
#include 《stdio.h》
main()
{
int i = 150;
int j = -100;
double k = 3.14159;
fprintf(stdout, “%d %f %x \n“, j, k, i);
fprintf(stdout, “%2d %*d\n“, i, 2, i);
}
执行:
-100 3.141590 96
150 150 -
fscanf函数:
功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。
用 法:int fscanf(FILE *stream, char *format,[argument…]);
int fscanf(文件指针,格式字符串,输入列表);
for example:
FILE*fp;
chara;
intb;
doublec;
fscanf(fp,“%s%d%lf“,a,&b,&c)
返回值:整型,数值等于[argument…]的个数
其中的format就是相当于正则表达式中的格式,即用什么样的格式来分隔文件中的信息。
哪位高手帮我讲一下fprintf 和fscanf 的用法
1、下面介绍一个例子, 运行后产后一个test.dat的文件。
例11:
#include《stdio.h》
main()
{
char *s=“That’s good news“); /*定义字符串指针并初始化*/
int i=617; /*定义整型变量并初始化*/
FILE *fp; /*定义文件指针*/
fp=fopne(“test.dat“, “w“); /*建立一个文字文件只写*/
fputs(“Your score of TOEFLis“, fp);/*向所建文件写入一串字符*/
fputc(’:’, fp); /*向所建文件写冒号:*/
fprintf(fp, “%d\n“, i); /*向所建文件写一整型数*/
fprintf(fp, “%s“, s); /*向所建文件写一字符串*/
fclose(fp); /*关闭文件*/
}
用DOS的TYPE命令显示TEST.DAT的内容如下所示:
屏幕显示
Your score of TOEFL is: 617
That’s good news
2. 文件的顺序读操作函数
fscanf()、fgets()和fgetc()函数
函数fscanf()、fgets()和fgetc()均为文件的顺序读操作函数, 其调用格式
如下:
int fscanf(FILE *stream, char *format, 《address-list》);
char fgets(char *string, int n, FILE *steam);
int fgetc(FILE *steam);
fscanf()函数的用法与scanf()函数相似, 只是它是从文件中读到信息。
fscanf()函数的返回值为EOF(即-1), 表明读错误, 否则读数据成功。fgets()函
数从文件中读取至多n-1个字符(n用来指定字符数), 并把它们放入string指向的
字符串中, 在读入之后自动向字符串未尾加一个空字符, 读成功返回string指针,
失败返回一个空指针。fgetc()函数返回文件当前位置的一个字符, 读错误时返
回EOF。
下面程序读取例11产生的test.dat文件, 并将读出的结果显示在屏幕上。
例12
#include《stdio.h》
main()
{
char *s, m;
int i;
FILE *fp;
fp=fopen(“test.dat“, “r“); /*打开文字文件只读*/
fgets(s, 24, fp); /*从文件中读取23个字符*/
printf(“%s“, s); /*输出所读的字符串*/
fscanf(fp, “%d“, &i); /*读取整型数*/
printf(“%d“, i); /*输出所读整型数*/
putchar(fgetc(fp)); /*读取一个字符同时输出*/
fgets(m, 17, fp); /*读取16个字符*/
puts(m); /*输出所读字符串*/
fclose(fp); /*关闭文件*/
getch(); /*等待任一键*/
}
运行后屏幕显示:
Your score of TOEFL is: 617
That’s good news
如果将上例中fscanf(fp, “%d“, &i)改为fscanf(fp, “%s“, m), 再将其后
的输出语句改为printf(“%s“, m), 则可得出同样的结果。由此可见Turbo C2. 0
中只要是读文字文件, 则不论是字符还是数字都将按其ASCII值处理。 另外还要
说明的一点就是fscanf()函数读到空白符时, 便自动结束, 在使用时要特别注意。
C语言库函数问题:fprintf和fscanf这两个函数的用法我始终不能很好的区分开,请大家讲下这两个函数的用途
言代码,所以fprintf() 及fscanf()等函数都能用。
另外,
(1)Linux上的输出命令:printf
printf 命令,格式化输出,是echo 命令的增强.它是C 语言printf()库函数的一个有限的变形,
并且在语法上有些不同.
printf format-string… parameter…
这是Bash 的内建版本,与/bin/printf 或/usr/bin/printf 命令不同.想更深入的了解,请
察看printf(系统命令)的man 页.
(2)Linux Shell 有一版本为CShell,语法与C有很大相似之处。
C语言 fprintf和fscanf 怎么用
fprintf和fscanf都是对文件进行操作的函数。下面通过具体的实例来说明其用法:
函数名: fscanf
功 能: 从一个流中执行格式化输入
用 法: int fscanf(FILE *stream, char *format[,argument…]);
程序例:
#include 《stdlib.h》
#include 《stdio.h》
int main(void)
{
int i;
printf(“Input an integer: “);
/* read an integer from the
standard input stream */
if (fscanf(stdin, “%d“, &i))
printf(“The integer read was: %i\n“, i);
else
{
fprintf(stderr, “Error reading an integer from stdin.\n“);
exit(1);
}
return 0;
}
函数名: fprintf
功 能: 传送格式化输出到一个流中
用 法: int fprintf(FILE *stream, char *format[, argument,…]);
程序例:
#include 《stdio.h》
int main(void)
{
FILE *in, *out;
if ((in = fopen(“\\AUTOEXEC.BAT“, “rt“)) == NULL)
{
fprintf(stderr, “Cannot open input file.\n“);
return 1;
}
if ((out = fopen(“\\AUTOEXEC.BAK“, “wt“)) == NULL)
{
fprintf(stderr, “Cannot open output file.\n“);
return 1;
}
while (!feof(in))
fputc(fgetc(in), out);
fclose(in);
fclose(out);
return 0;
}