使用 fputc 和 fgetc 实现文件的拷贝功能
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <pthread.h>
#include <semaphore.h>
#include <wait.h>
#include <signal.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <semaphore.h>
#include <sys/msg.h>
#include <sys/shm.h>
#include <sys/un.h>
typedef struct saockaddr_in addr_in_t;
typedef struct sockaddr addr_t;
typedef struct sockaddr_un addr_un_t;
int main(int argc, const char *argv[])
{
FILE* fp = fopen(argv[1],"r");
FILE* wp = fopen(argv[2],"w");
if(fp == NULL){
perror("fp");
}
while(1){
int num = fgetc(fp);
if(EOF == num){
break;
}
fputc(num,wp);
}
fclose(wp);
fclose(fp);
return 0;
}
有如下结构体: struct Student{ char name[20]; int chinese; int math; int english; int physics; int chemical; int biology; }; 有一个结构体数组: struct Student arr[5] = { {}, {}, {}, {}, {} } 使用 fprintf 和 fscanf 函数,将数组中的5个学生保存到文件中去之后,删除数组中的信息,然后读取文件中的内容后,再次显示数组中的信息
将结构体数组的加载保存的代码,把结构体数组改成链表再来一次