A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙明海 中级黑马   /  2015-10-29 22:15  /  591 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


1)修饰函数
static修饰函数:是一个内部函数,只能在本文件中访问
extern修饰函数:是一个外部函数,可以在本文件和其他文件访问(有包含关系)

定义的函数,默认是外部函数

2)修饰全局变量
static修饰全局变量: 是一个内部变量,只能在本文件使用。
extern修饰全局变量:是一个外部变量,可以在本文件和其他文件使用(有包含关系)

定义的全局变量,默认是外部变量

3)修饰局部变量
static修饰局部变量特点:延长局部变量的生命周期
extern不能定义局部变量,只能声明(没有意义)

注意:默认情况下在.h文件中声明的变量和函数都是extern类型。

作用:const作用可以把变量变成只读的(常量)
1)修饰变量
const int a=23;
a = 20; (错误的)


const int const a = 23;

2)修饰指针
const int *p;
int const *p;
int * const p;
const int* const p;


理解:
const int *p;  常量指针   指向常量的指针   值不能变,指向可变
int const *p;

int * const p; 指针常量   这是个常量      指向不可变,值可变


没办法理解就先记忆:
const 在 * 的左侧          指向可变,值不能变
const 在 * 的右侧         指向不可变 值可变
const 在 * 的两侧         指向和值都不可以变




把a文件的数据读取,保存到B文件中 ( )
a为(输入)
b为(输出)


//------------------文件指针
格式:FILE *fp; 结构体指针
作用:存储一个文件的首地址,指向一个文件


//---------------文件的打开和关闭
打开 fopen(文件名,操作方式);
fopen("a.txt","r");
//a.txt默认的去products目录去

关闭文件:
fclose(<#文件指针#>);


//---------------------文件的操作

//对字符的读与写
字符读写函数:
fgetc(<#文件指针#>)读
fputc(<#字符#>,<#文件指针#>)写;
void char_rw(){


//打开文件
    FILE *readFile= fopen("78文件操作.c","r");//确定要读取的文件
    FILE *readWrite= fopen("test.c","w");//确定要写入的文件

//操作文件
char c=fgetc(readFile);//读取第一个字符
if(readFile!=NULL&&readWrite!=NULL){
    .
    while (c!=EOF) {        //printf("%c\n",c);
        fputc(c,readWrite);//写入字符
        c=fgetc(readFile);//读取下一个字符
    }
}
//关闭文件.
fclose(readFile);
fclose(readWrite);
}


//对字符串的读与写
字符串读写函数:
fgets(<#字符缓存#>,<#数量#>,<#文件指针#>)读
fputs(<#字符缓存#>,<#文件指针#>)写;
void string_rw(){

    //打开要操作的文件
    FILE *readFile= fopen("78文件操作.c","r");//确定要读取的文件
    FILE *readWrite= fopen("test.c","w");//确定要写入的文件
    if(readFile!=NULL&&readWrite!=NULL){
        //操作
        const int SIZE=512;
        char buffer[SIZE];
        //NULL:表示读取出错或读取到了最后
        while (fgets(buffer,SIZE,readFile)!=NULL) {
            fputs(buffer,readWrite);
        }
    }
    //操作完成,关闭文件.
    fclose(readFile);
    fclose(readWrite);

}

数据块(二进制)读写函数:
fread(<#数据容器#>,<#单个数据字节数#>,<#总数#>,<#文件指针#>)读
fwrite(<#数据容器#>,<#单个数据字节数#>,<#总数#>,<#文件指针#>)写;
void er_rw(){

    //打开文件
    FILE *readFile= fopen("78文件操作.c","rb");//确定要读取的文件
    FILE *readWrite= fopen("/Users/apple/Desktop/test.c","wb");//确定要写入的文件

    if(readFile!=NULL&&readWrite!=NULL){
        //操作
        const int SIZE=512;//总数
        char buffer[SIZE];//数据容器
        const int COUNT =sizeof(buffer[0]);//单个数据字节数
        int countTemp;

        do {

            countTemp=0;
            countTemp=fread(buffer,COUNT,SIZE,readFile);
            fwrite(buffer,COUNT,countTemp,readWrite);

        }while (countTemp==SIZE);

    }

    //操作完成,关闭文件.
    fclose(readFile);
    fclose(readWrite);


}


1 个回复

倒序浏览
顶一个  沙发啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马