请教fprintf函数的用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教fprintf函数的用法相关的知识,希望对你有一定的参考价值。

1、函数声明


int fprintf (FILE* stream, const char*format, [argument])


2、参数


stream-- 这是指向 FILE 对象的指针,该 FILE 对象标识了流。


format-- 这是 C 字符串,包含了要被写入到流 stream 中的文本。它可以包含嵌入的 format 标签,format 标签可被随后的附加参数中指定的值替换,并按需求进行格式化。

扩展资料

flags标识

flags(标识) 描述

在给定的字段宽度内左对齐,默认是右对齐(参见 width 子说明符)。

强制在结果之前显示加号或减号(+ 或 -),即正数前面会显示 + 号。默认情况下,只有负数前面会显示一个 - 号。

(space)

如果没有写入任何符号,则在该值前面插入一个空格。

参考资料来源:百度百科-fprintf

参考技术A

fprintf语法形式:

1、函数声明

int fprintf (FILE* stream, const char*format, [argument])

2、参数

stream-- 这是指向 FILE 对象的指针,该 FILE 对象标识了流。

format-- 这是 C 字符串,包含了要被写入到流 stream 中的文本。它可以包含嵌入的 format 标签,format 标签可被随后的附加参数中指定的值替换,并按需求进行格式化。

format 标签属性是%[flags][width][.precision][length]specifier

[argument]:附加参数列表

3、功能

fprintf()函数根据指定的格式(format),向输出流(stream)写入数据(argument)。

4、函数说明

fprintf( )会根据参数format 字符串来转换并格式化数据,然后将结果输出到参数stream 指定的文件中,直到出现字符串结束('\\0')为止。

扩展资料

程序示例:

#include <cstdio>

int main(void)

FILE *in,*out;

in = fopen("\\\\AUTOEXEC.BAT", "rt");

if(in == NULL)

 

 fprintf(in, "Can not open inputfile.\\n");

return 1;

 

out = fopen("\\\\AUTOEXEC.BAT", "wt");

if(out == NULL)

 

fprintf(out, "Can not open outputfile.\\n");

return 1;

while(!feof(in))

fputc(fgetc(in), out);

fclose(in);

fclose(out);

return 0;

参考资料来源:百度百科-fprintf

参考技术B

用法示例:将数据输入到文件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()函数根据指定的格式(format),向输出流(stream)写入数据(argument)。

函数说明

fprintf( )会根据参数format 字符串来转换并格式化数据,然后将结果输出到参数stream 指定的文件中,直到出现字符串结束('\\0')为止。

用法详解

C 库函数int fprintf(FILE *stream, char *format[, argument,...]);

format 标签属性是:%[flags][width][.precision][length]specifier

参考资料来源:百度百科-fprintf

参考技术C  matlab中fprintf函数的具体使用方法实例如下:
  fprintf函数可以将数据按指定格式写入到文本文件中。其调用格式为:
  数据的格式化输出:fprintf(fid, format, variables)
  按指定的格式将变量的值输出到屏幕或指定文件
  fid为文件句柄,若缺省,则输出到屏幕
  1 for standard output (the screen) or 2 for standard error. If FID is omitted, output goes to the screen.
  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是[12 90]的矩阵
  %这里'%f %f'表示读取数据的形势,他是按原始数据型读出
  fclose(fid);
  %关闭文件
  另外有的txt文件还可以用load来打开
  其语句为
  f=load('fx.txt)
参考技术D 你是想直接保存为16进制吗
由于Matlab中16进制是字符串
也就是说Matlab没法直接识别十六进制,我们必须转换如果是那样的话,可以如下操作>>
a=['bf737871';'bf4f1bbd';'bf167918']a
=bf737871bf4f1bbdbf167918>>
fprintf('%x\n',hex2dec(a))bf737871bf4f1bbdbf167918

fscanf()函数详解&&fprintf()

功 能:

从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。这与fgets有区别,fgets遇到空格不结束。

用 法: int fscanf(FILE *stream, char *format,[argument...]);

int fscanf(文件指针,格式字符串,输入列表);

   

常用基本参数对照:

%d:读入一个十进制整数.

%i :读入十进制,八进制,十六进制整数,与%d类似,但是在编译时通过数据前置来区分进制,如加入“0x”则是十六进制,加入“0”则为八进制。例如串“031”使用%d时会被算作31,但是使用%i时会算作25.

%u:读入一个无符号十进制整数.

%f %F %g %G : 用来输入实数,可以用小数形式或指数形式输入.

%x %X: 读入十六进制整数.

%o‘: 读入八进制整数.

%s : 读入一个字符串,遇空格结束。

%c : 读入一个字符。无法读入空值。空格可以被读入。

fprintf()

fprintf是C/C++中的一个格式化写-库函数,位于头文件<stdio.h>中,其作用是格式化输出到一个流/文件中;函数原型为int fprintf( FILE *stream, const char *format, [ argument ]...),fprintf()函数根据指定的格式(format)向输出流(stream)写入数据(argument)。

2.fprintf(stdout,“hello world\n”)


以上是关于请教fprintf函数的用法的主要内容,如果未能解决你的问题,请参考以下文章

c语言中printf的用法

fprintf和printf有啥区别吗?

printf 日常使用指南

printf 日常使用指南

printf 日常使用指南

printf 和 fprintf 在c 和c++中的使用。