刚做的公司网站搜不到,营销策划推广,asp网站源码 生成静态,硬件开发工程师工资fputc
int fputc(int c, FILE *stream); 功能: 向流中写入一个字符 参数: c:要写入的字符 stream:文件流指针 返回值: 成功返回写入的字符ASCII码值 失败返回EOF
fgetc
int fgetc(FILE *stream); 功能: 从流中读取一个字符 参数: stream:文件流…fputc
int fputc(int c, FILE *stream); 功能: 向流中写入一个字符 参数: c:要写入的字符 stream:文件流指针 返回值: 成功返回写入的字符ASCII码值 失败返回EOF
fgetc
int fgetc(FILE *stream); 功能: 从流中读取一个字符 参数: stream:文件流指针 返回值: 成功返回读到字符的ASCII码值 读到文件末尾返回EOF返回值与fputc一致 失败返回EOF -1 c fgetc(stdin); fputc(c,stdout); 获取键盘上面的输入显示到屏幕。
默认的流指针
stdin --- 标准输入 stdout --- 标准输出 stderr --- 标准出错 --- 屏幕
--问题如何用最短的代码实现用户任意输入并打印输出。 要求用fgetc/fputc函数实现。
while(1) fputc(fgetc(stdin),stdout);
feof
功能 判断当前参数stream的文件流指针是否到达文件结尾。 如果到达文件结尾则返回真否则返回假 注意该操作一定要在一次IO操作之后判断。 参数 stream 要判断结尾的文件流对象 返回值成功到达结尾是 真 否则 是假
fgets
char *fgets(char *s, int size, FILE *stream); 功能 从stream流对象关联的文件中获取size大小字节的文本数据 并存储到s对应的本地内存(栈区数组堆区内存) 参数 s 要存储数据的本地内存 size 要获取的数据长度单位字节。 stream 要获取的目标文件流对象 可以是stdin 程序会阻塞等待 如果是普通文件fp 则指向文件第一行数据 返回值成功 返回指向有效数据的首地址一般等于s的地址 失败 或者 文件末尾 NULL
也就是说由于传输的是字符串字符串的储存方式是字符型数组参数s与其返回值都是char*类型
fgets读取结束的条件
1.EOF 文件结束 2.\n 读到 换行符 则读取结束 注意: 会被保存到 buffer(保存数据的这块内存中) 3.size-1 个字符 最后一个字符为\0 //按字符串读写
fputs
int fputs(const char *s, FILE *stream); 功能 从s所在的本地内存中获取一行数据 并写入stream对应的文件流对象。 参数 s 要写的信息一般是固定的字符串或者有数据的数组。 stream 要写入的目标文件流对象
返回值成功 nonnegative number on success(成功写入的字符个数非负数) 失败 -1
fread
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); 功能从指定的stream流对象中获取nmemeb个大小为size字节的数据块到ptr 所在的本地内存中。 参数ptr 要存储数据的本地内存一般是数组或者结构体指针 size 单个数据块的元数据大小。最小单元的大小为保证数据不会被截断一般为1 nmemb 要获取的数据块的个数拷贝的数据块个数。一般为sizeofptr stream 要获取数据的源文件流对象如果是stdin表示从 键盘获取数据如果是fp文件则表示从普通文件获取。 返回值 成功 小于等于nemeb的整数表示获取的数据长度 失败 小于0结尾 0
fwrite
size_t fwrite(const void *ptr, size_t size,size_t nmemb, FILE *stream); 功能从ptr所在本地内存中取出nmemb个大小为size的数据块写入到stream流对应 的文件流对象中。 参数ptr 要写的数据块地址一般是数组或者结构体指针 size 要写的数据块元数据大小单位是字节为保证数据不会被截断一般为1 nmemb 要写的数据块的个数一般为sizeofptr-1个1个读到sizeofptr为止 stream 要写的目标文件流对象。如果是stdout则表示数据会 写到终端屏幕显示如果是fp的普通文件则会写入到文件中。
返回值成功 小于等于nmemb 的个数。 失败 0
fseek
int fseek(FILE *stream, long offset, int whence);
功能将stream流文件中的文件指针从whence位置开始 偏移offset字节的长度。 参数stream 要移动文件指针的目标文件流对象。 注意不支持设备文件一般用于普通文件。 offset 要在文件内偏移的距离单位字节。 如果值为整数则向文件末尾偏移 如果值为负数则向文件开头偏移 whence 偏移的起始位置,由系统定义的三个宏开始。 SEEK_SET 文件的开头位置 SEEK_CUR 文件的当前位置 SEEK_END 文件的末尾位置
返回值 成功 返回 0 失败 -1
如果从文件的指定位置向后偏移过程中已经超过了文件 的当前末尾位置则会自动以\0来填充文件内容从 而形成一种被称为空洞文件 的特殊文件。例如判断是否有足够大的空间供下载)
feekfp,0,SEEK_END;
fputs(,fp);
因为fputs的第一个参数要求是char *因此用来代表\0
ftell
long int ftellFILE *stream
功能返回流指针相对于文件起始位置的偏移量
参数流指针FILE *stream
返回值该函数返回返回流指针相对于文件起始位置的偏移量。如果发生错误则返回 -1否则为正值
rewind
void rewind(FILE *stream)
将文件指针定位到文件的开始位置。清空与文件流相关的所有错误指示符。
文件I/O汇总 fopen(); //开 fclose(); //关 fputc/fgetc //读写 fputs/fgets fwrite/fread fseek, //偏移 ftell, //定位 rewind //重定向回开头