C语言中的文件流的输入和输出
2016-03-02 21:12
357 查看
1,从stdin流中读取字符串到指定buffer中,gets()和fgets()
gets()函数原型:char *gets(char *str)
fgets()函数原型:char *fgets(char *buf,int buf_size,FILE *stream)
平常使用的时候尽量避免使用gets()函数,因为gets()函数没有指定数据流的长度,而当stdin中的数据流大于str的指定长度时,多余的数据就会写入到str所在的堆栈中,造成内存的溢出,或者破坏了原来堆栈里的内容。而fgets函数事先指定了要读取的长度,所以不会存在上述问题。
gets()函数原型:char *gets(char *str)
fgets()函数原型:char *fgets(char *buf,int buf_size,FILE *stream)
平常使用的时候尽量避免使用gets()函数,因为gets()函数没有指定数据流的长度,而当stdin中的数据流大于str的指定长度时,多余的数据就会写入到str所在的堆栈中,造成内存的溢出,或者破坏了原来堆栈里的内容。而fgets函数事先指定了要读取的长度,所以不会存在上述问题。
相关文章推荐
- C语言中"\"的作用
- MFC中数据类型转换的一些心得
- C语言常见单链表面试题(2)
- 【转】C++ 值传递、指针传递、引用传递详解
- c++实现webservice
- C++运算符重载详解
- C语言常见单链表面试题(1)
- C++语言
- Leetcode283 Move Zeros
- C++学习笔记--STL(映射:map)
- C++析构函数为什么要为虚函数
- 函数重载
- 老赖学iOS开发--<1>--C语言浅析
- getline()的使用详解
- Effective C++ 学习笔记(二)
- google C++ 编程规范中的禁用复制构造函数和赋值运算符
- 母牛繁殖问题:一头母牛,每年年初生一头小母牛,每头小母牛从第四个年头起,每年年初也要生一头小母牛,问:第20个年头后共有多少只牛?
- C++ Big Three详细讲解+示例
- 来一波水题
- C++简介