进度日志33 (用typedef定义类型,文件的打开与关闭)

学习笔记1:用typedef定义类型

编程1:用typedef生命新的类型名来代替已有类型名(用INTEGER代替int)

#include <stdio.h>

typedef int INTEGER;  //程序中 INTEGER 相当于 int

void main()
{
    INTEGER i = 1;
    int j = 2;
    printf("%d,%d\n", i, j);
}

运行结果:1,2

编程2:声明结构类型

#include <stdio.h>

typedef struct
{
    int month;
    int day;
    int year;
}DATE;

void main()
{
    DATE date_one;
    date_one.month = 12;
    date_one.day = 31;
    date_one.year = 2012;

    printf("%d-%d-%d\n", date_one.year, date_one.month, date_one.day);
}

运行结果:

进度日志33 (用typedef定义类型,文件的打开与关闭)

编程3:声明NUM为整形数组类型

形式:typedef int NUM[100];

#include <stdio.h>

typedef int NUM[100];

void main()
{
    NUM num = {0};
// 定义数组要赋初值
    printf("%d\n\n", sizeof(num));
}

运行结果:400  //一个整形占4个字节,100个整型所以死400

编程4:声明STRING为字符指针类型

形式:typedef char* STRING;

#include <stdio.h>
typedef char* P;
void main()
{
    P p1;
    p1 = "I am King.";
    printf("%s", p1);
}

编程5:声明POINTER为指向函数的指针类型,该函数返回整型值

形式:typedef int (*POINTER)();

#include <stdio.h>
typedef int (*POINTER)();
void fun();
void main()
{
    POINTER p1; //void (*p1)();
    p1 = &fun;
    (p1)();
}
void fun()
{
    printf("I am King!\n");
}

 

注:typedef可以用来声明各种类型名,但不能用来定义变量。他只是给类型名增加了一个别名(起了个外号)

       typedef和define的区别:typedef (int*) p1;

                                               #define p2 int*

学习笔记2:文件的打开与关闭

文件型指针变量:

FILE *fp;  //fp是一个指向FILE类型结构体的指针变量

进度日志33 (用typedef定义类型,文件的打开与关闭)

关于FILE类型结构体:

进度日志33 (用typedef定义类型,文件的打开与关闭)

进度日志33 (用typedef定义类型,文件的打开与关闭)

文件的打开(fopen函数)

函数调用:

FILE *fp;

fp = fopen (文件名,使用文件方式);

注意:

进度日志33 (用typedef定义类型,文件的打开与关闭)

文件使用方式:

进度日志33 (用typedef定义类型,文件的打开与关闭)

使用方式说明:

进度日志33 (用typedef定义类型,文件的打开与关闭)  进度日志33 (用typedef定义类型,文件的打开与关闭)

编程1:文件的打开

#include <stdio.h>
#include <stdlib.h>
void main()
{
    FILE *fp;
    if (!(fp = fopen("F:\\King.txt", "rb")))
//以rb的形式打开F盘的King.txt  rb表示只读
    {
        printf("Can't open F:\\King file!\n");
        system("pause");
// 让系统暂停在这里,等待用户操作
    }
    else
    {
        printf("Open success!\n");
    }
}

如果F盘里没有这个文件说不能打开,如果有,就直接打开

如果把rb改成w,当F盘中没有这个文件,系统就会在F盘创建这个文件

文件的关闭(fclose函数)

函数调用:

fclose (文件指针);

关闭成功返回值为0,否则返回EOF(-1)

文件的读写(以下函数均需要包含头文件stdio.h)

字符读写函数:fgetc和fputc

字符串读写函数:fgets和fputs

数据块读写函数:fread和fwrite

格式化读写函数:fscanf和fprinf

关于fputc函数:

进度日志33 (用typedef定义类型,文件的打开与关闭)