1.gets(由标准输入设备内读进一字符串):
头文件 #include <stdio.h>
定义函数 char * gets(char *s);
函数说明 gets()用来从标准设备读入字符并存到参数 s 所指的内存空间, 直到出现换行字符或读到文件尾为止,
最后加上 NULL 作为字符串结束.
返回值 gets()若成功则返回 s 指针, 返回 NULL 则表示有错误发生.
附加说明 由于 gets()无法知道字符串 s 的大小, 必须遇到换行字符或文件结尾才会结束输入, 因此容易造成缓冲
溢出的安全性问题. 建议使用 fgets()取代.
范例 参考 fgets()
2.fgetc(由文件中读取一个字符):
头文件 include<stdio.h>
定义函数 nt fgetc(FILE * stream);
函数说明 fgetc()从参数 stream 所指的文件中读取一个字符. 若读到文件尾而无数据时便返回 EOF.
返回值 getc()会返回读取到的字符, 若返回 EOF 则表示到了文件尾.
范例
#include <stdio.h>
int main(void)
{
FILE *fp=fopen("exist", "r"); //exist表示创建的文件
int c;
while((c = fgetc(fp)) != EOF)
printf("%c", c);
fclose(fp);
return 0;
}
例如:exist改成1.txt,把1.txt中写字符串abc,则程序运行结果为abc
3.fgets(由文件中读取一字符串):
头文件 include<stdio.h>
定义函数 har * fgets(char * s, int size, FILE * stream);
函数说明 fgets()用来从参数 stream 所指的文件内读入字符并存到参数 s 所指的内存空间, 直到出现换行字符、
读到文件尾或是已读了 size-1 个字符为止, 最后会加上 NULL 作为字符串结束.
返回值 gets()若成功则返回 s 指针, 返回 NULL 则表示有错误发生.
范例
#include <stdio.h>
int main(void)
{
char s[80];
fputs(fgets(s, 80, stdin), stdout);
return 0;
}
例如运行程序
this is a apple //输入
this is a apple //输出(通过fgets来获取从键盘输入的信息)
4.getc(由文件中读取一个字符):
头文件 #include <stdio.h>
定义函数 int getc(FILE * stream);
函数说明 getc()用来从参数 stream 所指的文件中读取一个字符. 若读到文件尾而无数据时便返回 EOF. 虽然
getc()与 fgetc()作用相同, 但 getc()为宏定义, 非真正的函数调用.
返回值 getc()会返回读取到的字符, 若返回 EOF 则表示到了文件尾.
范例 参考 fgetc().
5.getchar (由标准输入设备内读进一字符):
头文件 #include <stdio.h>
定义函数 int getchar(void);
函数说明 getchar()用来从标准输入设备中读取一个字符, 然后将该字符从 unsigned char 转换成 int 后返回.
返回值 getchar()会返回读取到的字符, 若返回 EOF 则表示有错误发生.
附加说明 getchar()非真正函数, 而是 getc(stdin)宏定义.
范例
#include <stdio.h>
int main(void)
{
FILE * fp;
int c, i;
for(i = 0; i < 5; i++)
{
c = getchar();
putchar(c);
}
return 0;
}
例如运行程序
abc //输入
abc //输出
6.putc(将一指定字符写入文件中):
定义函数 int putc(int c, FILE * stream);
函数说明 putc()会将参数 c 转为 unsigned char 后写入参数 stream 指定的文件中. 虽然 putc()与 fputc()
作用相同, 但 putc()为宏定义, 非真正的函数调用.
返回值 putc()会返回写入成功的字符, 即参数 c. 若返回 EOF 则代表写入失败.
范例 参考 fputc().
7.fputc(将一指定字符写入文件流中):
头文件 #include <stdio.h>
定义函数 int fputc(int c, FILE * stream);
函数说明 fputc 会将参数 c 转为 unsigned char 后写入参数 stream 指定的文件中.
返回值 fputc()会返回写入成功的字符, 即参数 c. 若返回 EOF 则代表写入失败.
范例
#include <stdio.h>
int main(void)
{
FILE * fp;
char a[26] = "abcdefghijklmnopqrstuvwxyz";
int i;
fp = fopen("noexist", "w");
for(i = 0; i < 26; i++)
fputc(a[i], fp);
fclose(fp);
return 0;
}
例如:noexist改成2.txt,会发现当前文件夹生成了一个2.txt文件,且文件内容为abcdefghijklmnopqrstuvwxyz
8.putchar(将指定的字符写到标准输出设备):
头文件 #include <stdio.h>
定义函数 int putchar (int c);
函数说明 putchar()用来将参数 c 字符写到标准输出设备.
返回值 putchar()会返回输出成功的字符, 即参数 c. 若返回 EOF 则代表输出失败.
附加说明 putchar()非真正函数, 而是 putc(c, stdout)宏定义.
范例 参考 getchar().
9.puts(用于讲字符串输出到缓冲区):
头文件 #include <stdio.h>
定义函数 int puts (char *string);
函数说明 putchar()用来将参数 c 字符写到标准输出设备.
返回值 若该函数将字符串输出到流中,返回非零值;否则,返回0.
附加说明 putchar()非真正函数, 而是 putc(c, stdout)宏定义.
范例
#include <stdio.h>
int main(void)
{
char string[]="This is a test\n";
puts(string);
return 0;
}
运行程序结果为This is a test
10.fputs(将一指定的字符串写入文件内):
头文件 #include <stdio.h>
定义函数 int fputs(const char *s, FILE *stream);
函数说明 fputs()用来将参数 s 所指的字符串写入到参数 stream 所指的文件内.
返回值 若成功则返回写出的字符个数, 返回 EOF 则表示有错误发生.
范例 请参考 fgets().
本文详细介绍了C语言中用于读取和写入字符及字符串的常用函数,包括gets、fgetc、fgets、getc、getchar、putc、fputc、putchar、puts和fputs。这些函数分别用于从标准输入、文件中读取字符和字符串,以及将字符和字符串写入文件和标准输出。特别地,文章强调了gets函数的安全性问题,建议使用fgets替代。
1669

被折叠的 条评论
为什么被折叠?



