c语言文件和特殊修饰符

static和extern:

static修饰变量(可以修饰局部变量),只有包含那个变量定义的源代码文件可以访问(内部变量)

延长局部变量的生命周期,从程序启动到退出

作用:static定义的变量作用域会延长

static定义变量的语句只会被执行一次

extern定义的变量哪个源文件都可以使用,只要声明了就可以(外部变量)

extern不可以修饰局部变量

static对全局变量的作用

static修饰的全局变量只能在当前文件中使用,而不能在其他文件中使用

static 修饰的函数是内部函数(只能在定义的文件中使用)

extern 修饰的函数可以在内部和外部使用(可以在头文件中声明也可以在使用之前声明)

12)文件操作:

fopen函数用来打开一个文件,一般形式为:

文件指针变量名 = fopen(文件名,文件使用方式)

FILE *fp = NULL;

fp = fopen ("a.txt", "r"); //以只读方式打开文件

if(fp != NULL){

//操作文件

}else{

//提示用户

}

fclose(fp);

正常关闭文件fclose返回0,如果返回其它则关闭出错。如果没有关闭,则导致文件写入失败

文件操作步骤:

1) 建立文件指针

FILE *fp = NULL;

2) 打开文件

fopen(文件名,操作方式);

如果打开成功,返回文件首地址,失败返回NULL;

字符读写函数:

fputc(字符量,文件指针);//待写入的字符量可以是字符常量或变量

fputc(‘a‘, fp);

例:

char ch = ‘X‘;

FILE *fp = NULL;

fp = fopen("fputs.txt", "w");

if(fp != NULL){

fputc(ch, fp);

printf("写入成功");

//ch = fget(fp);

}

fclose(fp);

char s = fgetc(fp);

while(s != EOF){   //EOF文件末尾的标志

putchar(s);

s = fgetc(fp);  //系统自动读取下一个字符

}

char ch;

FILE *fp = fopen("inputString.txt", "w+");

if(fp = NULL){

printf("请输入字符串:");

ch = getchar();

int count = 0;

while(ch != ‘\n‘){

count++;

fputc(ch, fp);

ch = getchar();

}

printf(" 一 共输入了%d个字符\n", count);

rewind(fp);  //把文件指针重新指向文件头

ch = fgetc(fp);

while(ch != EOF){

putchar(ch);

ch = fgetc(fp);

}

fclose(fp);

return 0;

}

count = fputs(str, fp);//count返回本次写入字符串长度

char str[50];                  //fgets读取时,当文件内容读取完毕时,会自动加上\0

fget(str, sizeof(str), fp);    //fgets读取时,当读取到\n或EOF时,读取结束

char *s = "asdfasd";

fputs(s, fp);

char str[3];//长度为3,一个汉子读取一半,长度为4全部读取

fgets(str, sizeof(str), fp);

fread(buffer, size, count, fp)

fwrite(buffer, size, count, fp)

buffer:表示存放输入输出数据的首地址。

size:表示数据块的字节数

count:表示要读写的数据块块数

fp:表示文件指针

int a= 1, b = 2;

fprintf(fp,"%d#%d;", a, b);

fscanf(fp, "%d,%d", &arr[i][0], &arr[i][1]);

struct Struct stu;

fseek(文件指针,位移量,起始点)

指针定位:

fseek(fp, sizeof(struct Student), SEEK_SET);     //SEEK_SET文件首

从文件中读取信息:

freak(&str, sizeof(struct Student), 1, fp);

时间: 2024-10-14 00:37:29

c语言文件和特殊修饰符的相关文章

Java语言中的-----访问修饰符

day04 Java语言中的----访问修饰符 一.访问修饰符概述: 访问修饰符就是对变量或者是方法或者是类的一个修饰,通过修饰以后实现一些必要的权限,主要是说明类成员如何被使用的作用. 二.访问修饰符 1.访问修饰符有哪些? 访问修饰符总共有8种,本文只先给大家说static和final两个修饰符 1.1.final.修饰常量的 1.2.static.修饰静态的 1.3.abstract. 1.4.native. 1.5.sysnchronized.修饰线程的 1.6.transient. 1

Java语言中的权限修饰符

1.Java语言中的权限修饰符主要包括private,public ,default , protected ,这些修饰符控制着对类和类的成员变量以及成员方法的访问. 用权限修饰符修饰变量时的语法格式: puclic 类型  属性0; private 类型 属性1; private 类型 属性2; 类型 属性3;(default权限修饰符一般不写) 如果一个类的成员变量被修饰为private的时候,则该成员变量只能在本类中使用,在子类中是不可见的.如果非要调用,通过get/set方法就可以获取.

对Java语言中包、修饰符、封装的一些总结

一.包(packsge)   1.包的概念 物理上是文件夹 逻辑上是有逻辑关系的集合   2.包的作用 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用: 包可以避免名字冲突.同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别. 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类.   3.包(package)的命名规范 在包名中,可以使用.号来区分包的级别:包名一般情况下是小写 第一级 指该项目的类型,

C语言printf格式化输出修饰符详解

转换说明 输出 %a,%A 浮点数.十六进制数和p-计数法(C99) %c 一个字符 %d 有符号十进制数 %e,%E 浮点数,e计数法 %f 浮点数,十进制计数法 %g,%G 根据数值不同自动选择%f或%e,%e格式在指数小于-4或者大于等于精度时使用 %i 有符号十进制整数(与%d相同) %o 无符号八进制整数 %p 指针 %s 字符串 %u 无符号十进制数 %x,%X 使用十六进制数0f的无符号十六进制整数 %% 打印一个百分号 prinf()修饰符 修饰符 意义 标志 五种标志将在后面的

JavaSE入门学习10:Java修饰符

Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: <span style="font-size:18px;">public class className { // ... } private boolean flag; static final double weeks = 9.5; protected static final int BOXWIDTH = 42;

Java 修饰符

Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class className { // ... } private boolean myFlag; static final double weeks = 9.5; protected static final int BOXWIDTH = 42; public static void main(String[] argum

面向对象编程(OOP)————修饰符

一.类的修饰符 Java语言中的权限修饰符主要包括private.public和protected,这些修饰符控制着对类和类的成员变量以及成员方法的访问.如果一个类的成员变量或成员方法被修饰为private,则该成员变量只能在本类中被使用,在子类中是不可见的,并且对其他包的类也是不可见的.如果将类的成员变量和成员方法的访问权限设置为public,则除了可以在本类使用这些数据之外,还可以在子类和其它包中的类中使用.如果一个类的访问权限被设置为private,这个类将隐藏其内的所有数据,以免用户直接

修饰符

Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class className { // ... } private boolean myFlag; static final double weeks = 9.5; protected static final int BOXWIDTH = 42; public static void main(String[] argum

面向对象编程(OOP) 权限修饰符

类的权限修饰符 Java语言中的权限修饰符主要包括private.public和protected,这些修饰符控制着对类和类的成员变量以及成员方法的访问.如果一个类的成员变量或成员方法被修饰为private,则该成员变量只能在本类中被使用,在子类中是不可见的,并且对其他包的类也是不可见的.如果将类的成员变量和成员方法的访问权限设置为public,则除了可以在本类使用这些数据之外,还可以在子类和其他包中的类中使用.如果一个类的访问权限被设置为private,这个类讲隐藏其内的多有数据,以免用户直接