fopen 打开文件
#include <stdio.h>
int main(int argc, char const *argv[])
{
FILE *f01=fopen("a.txt","w+");
if (f01==NULL)
{
printf("没有打开文件\n");
}
else
{
printf("打开文件\n");
}
return 0;
}
fclose 关闭文件
#include <stdio.h>
int main(int argc, char const *argv[])
{
FILE *f01 = fopen("a.txt", "w+");
if (f01 == NULL)
{
printf("没有打开文件\n");
}
else
{
printf("打开文件\n");
}
int x = fclose(f01);
if (x == 0)
{
printf("关闭成功\n");
}
else
{
printf("关闭失败");
}
return 0;
}
fgetc 读取一个字符
#include <stdio.h>
int main(int argc, char const *argv[])
{
FILE *f01 = fopen("a.txt", "r");
if (f01 == NULL)
{
printf("读取失败\n");
return 0;
}
else
{
printf("读取成功\n");
}
int x;
while ((x = fgetc(f01)) != EOF)
{
printf("%c", x);
}
printf("\n");
int y = fclose(f01);
if (y == 0)
{
printf("关闭成功\n");
}
return 0;
}
fputc 一次写一个字符
#include <stdio.h>
int main(int argc, char const *argv[])
{
FILE *f01 = fopen("a.txt", "r");
FILE *f02 = fopen("b.txt", "w");
if (f01 == NULL)
{
printf("打开失败\n");
return 0;
}
int x =0;
while((x = fgetc(f01))!=EOF)
{
fputc(x,f02);
}
fclose(f02);
fclose(f01);
return 0;
}
fgets 一次读取一个字符串
#include <stdio.h>
int main(int argc, char const *argv[])
{
FILE *f01 = fopen("a.txt", "r");
if (f01 == NULL)
{
printf("打开失败\n");
return 0;
}
char s[100];
fgets(s, sizeof(s), f01);
if (s != NULL)
{
printf("%s\n", s);
}
return 0;
}
fputs 一次写入一个字符串
#include <stdio.h>
int main(int argc, char const *argv[])
{
FILE *f01 = fopen("a.txt", "r");
FILE *f02 = fopen("b.txt", "w");
if (f01 == NULL)
{
printf("打开失败\n");
return 0;
}
char s[100];
while (fgets(s, sizeof(s), f01) != NULL)
{
fputs(s, f02);
}
fclose(f02);
fclose(f01);
return 0;
}
fread 一次读一块
fwrite 一次写一块
#include <stdio.h>
typedef struct STU
{
char name[20];
int age;
} stu;
void write()
{
FILE *fw = fopen("b.txt", "w");
if (fw == NULL)
{
printf("打开失败\n");
return;
}
stu p[3];
for (int i = 0; i < 3; i++)
{
printf("请输入第%d个学员信息,格式为姓明 年龄\n", i+1);
scanf("%s %d", p->name, &p->age);
}
int num = fwrite(p, sizeof(p), 3, fw);
fclose(fw);
printf("OVEN,num:%d\n", num);
}
ftell 获取指针偏移量(测量字节长度)
fseek 设置指针位置
#include <stdio.h>
int main(int argc, char const *argv[])
{
FILE *f = fopen("a.txt", "r");
fseek(f, 0, 2);
int len = ftell(f);
printf("len=%d\n", len);
return 0;
}
sprintf 格式化输出
#include <stdio.h>
int main(int argc, char const *argv[])
{
FILE *f01 = fopen("a.txt", "a");
if (f01 == NULL)
{
printf("打开失败\n");
return 0;
}
fprintf(f01, "hello world");
int x = fclose(f01);
if (x == 0)
{
printf("关闭成功\n");
}
return 0;
}
sscanf
#include <stdio.h>
int main(int argc, char const *argv[])
{
char f[10];
sscanf("123456","%3s",f);//此处为%3s
printf("%s\n",f);
return 0;
}
#include <stdio.h>
int main(int argc, char const *argv[])
{
char f[10];
sscanf("123456", "%s", f); // 此处为%s
printf("%s\n", f);
return 0;
}