目录
零.二进制运算
MB=2^20bye
左移运算可作为倍数运算(1<<5==1^5)
右移运算为除以2的幂并向下取整(5>>1==5/2^1=2.5=2)
一.文件操作
1.fwrite函数
读取数据存入文件中;
函数原型
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
const void *ptr : 指针指向要写出数据的内存首地址 ;
size_t size : 要写出数据的 基本单元 的字节大小 , 写出单位的大小 ;
size_t nmemb : 要写出数据的 基本单元 的个数 ;
FILE *stream : 打开的文件指针 ;
实例代码
#include<stdio.h>
int main ()
{
FILE *fp;
char str[] = "This is runoob.com";
fp = fopen( "file.txt" , "w" );
fwrite(str, sizeof(str) , 1, fp );
fclose(fp);
return(0);
}
This is runoob.com
2.fseek函数
重新设置文件内部指针的位置 ;
函数原型
int fseek(FILE *stream, long offset, int fromwhere);
设置的指针的位置是 起始位置 + 偏移量 ;
其中的 int fromwhere 参数就是 起始位置 , 有以下三种选择 :
文件头 SEEK_SET 0
当前位置 SEEK_CUR 1
文件尾 SEEK_END 2
long offset 偏移量参数 , 可以为正数 , 也可以为负数 ;
如果执行成功 , 则返回 0 , 失败返回非 0 , 并设置 error 错误代码 。
3.feof(检查文件流是否读到了文件尾)
函数说明 feof()用来侦测是否读取到了文件尾,尾数 stream 为 fopen()所返回之文件指针。
如果已到文件尾则返回非零值,其他情况返回 0。
返回值 返回非零值代表已到达文件尾。
3.常见文件使用方式
1,“r”.为读而打开文本文件.(不存在则出错)
2,“rb”.为读而打开二进制文件.
3,“w”.为写而打开文本文件.(若不存在则新建,反之,则从文件起始位置写,原内容将被覆盖)
4,“wb”.为写而打开二进制文件.
5,“a”.为在文件后面添加数据而打开文本文件.(若不存在,则新建;反之,在原文件后追加)
6,“ab”.为在文件后面添加数据而打开一个二进制文件.
最常用的文件使用方式及其含义如下:
7,“r+”.为读和写而打开文本文件.(读时,从头开始;在写数据时,新数据只覆盖所占的空间,其后
不变)
其余查看【C 语言文件操作函数大全-腾讯课程零声学院整理】_fileno(fp)_abcd552191868的博客-CSDN博客
二.输出格式
1.int、float、double、char
等类型的输出格式:
(1) int: %d
(2) float: %f
, 默认保留 6
位小数
(3) double: %lf
, 默认保留 6
位小数
(4) char: %c(字符)%s(字符串)
, “”双引号字符串(自带\0),‘’单引号字符。
long long : %llf
2.(1)float, double
等输出保留若干位小数时用: % .4f, %.3l。
#include <stdio.h>
int main()
{
float b = 3.12345678;
double c = 3.12345678;
printf("%.4f\n", b);
printf("%.3lf\n", c);
return 0;
}
(2) 最小数字宽度a.%
8.3f
,表示这个浮点数的最小宽度为 8
,保留 3
位小数,当宽度不足时在前面补空格。
#include <stdio.h>
int main()
{
int a = 3;
float b = 3.12345678;
double c = 3.12345678;
printf("%5d\n", a);
printf("%8.4f\n", b);
printf("%7.3lf\n", c);
return 0;
}