相关文章推荐
想出家的回锅肉  ·  Spring Cloud Config ...·  9 月前    · 
干练的野马  ·  vue3 ...·  1 年前    · 
发呆的生姜  ·  c# wpf datagrid ...·  1 年前    · 
勤奋的大白菜  ·  安卓开发 ...·  1 年前    · 

C语言中fgets(...)从流中读入输入,相反fputs(...)向文件写入数据。

对于ANSI C 程序,运行时系统会打开至少三个流,这3个流包括:

1.   标准输入    standard input .    标准定义为stdin.

2    标准输出    standard output.   标准定义为stdout

3.   标准错误    standard  error.     标准定义为stderr.

同时用FILE 结构指向这三个流。。

fputs(...)用于向这三个流写入数据。

原型  int  fputs(char *s, FILE *stream);

s 为字符指针, 这儿既可以用字符数组,还可以字符指针,也可以直接使用字符串常量做为参数。

example:

FILE *fp=fopen("test.txt","w");

char s1[20]="hello world";

char *s2="hello C";

fputs(s1,fp);   // 数组名

fputs(s2,fp);   //字符指针

fputs("hello",fp);  //字符串常量

上面三种用法都是可以的,实质上, C语言中字符串的直接值其实都是指针。

如果写入成功,则返回非0,此时编译器默认为返回1.

如果写入错误,则返回EOF。

注意: fputs(char *s, FILE *stream) 函数向文件写入数据成功后,文件位置指针会自动向后移。

fputs(...)向屏幕输出数据。

既然FILE 结构可以指向三种流,当然也可以指向stdout 流

fputs("hello world",stdout);

就是想屏幕输出hello word.

最后来看看fputs(...)函数的标准库实现:

int  fputs(char *s, FILE *stream)

int c;

while(c =*s++)   //从这儿可以看出,fputs不会向流写入字符串结尾的空字符。

putc(c,stream);

return ferror(stream)? EOF: 非负值

C语言中fgets(...)从流中读入输入,相反fputs(...)向文件写入数据。     对于ANSI C 程序,运行时系统会打开至少三个流,这3个流包括:      1.   标准输入    standard input .    标准定义为stdin.      2    标准输出    standard output.   标准定义为stdout      3.   标准 #include int printf(const char *restrict format, ...); int fprintf(FILE *restrict fp, const char *restrict format, ...); 两个 函数 的返回值:若成功则 int fprintf (FILE* stream, const char*format, [argument]) FILE*stream:文件指针 const char* format:输出格式 [argument]:附加参数列表 传送格式化输出到一个文件中与打印机输出 用 法#include <stdio.h> #include<stdlib.h> int fprin
C语言 文件操作 函数 的返回值根据不同的 函数 会有所不同,下面列举一些常见的文件操作 函数 和它们的返回值含义: 1. fopen() 函数 :返回一个指向FILE结构体的指针,如果打开文件失败则返回NULL。 2. fclose() 函数 :返回0表示成功关闭文件,返回EOF表示关闭文件失败。 3. fgetc() 函数 :返回读取到的字符,如果已经到达文件结尾则返回EOF。 4. fgets() 函数 :返回读取到的字符串,如果已经到达文件末尾或读取失败则返回NULL。 5. fputc() 函数 :返回写入的字符,如果写入失败则返回EOF。 6. fputs() 函数 :返回写入字符串的结果(成功写入字符的数量),如果写入失败则返回EOF。 7. fread() 函数 :返回读取的元素数量,如果读取失败则返回0。 8. fwrite() 函数 :返回写入的元素数量,如果写入失败则返回0。 9. rewind() 函数 :无返回值,重新定位文件指针至文件开头。 10. fseek() 函数 :返回0表示成功定位文件指针,返回非0值表示定位失败。 11. ftell() 函数 :返回当前文件指针相对于文件开头的偏移量。 12. feof() 函数 :返回非0值表示已经到达文件末尾,返回0表示未到达文件末尾。