库函数-访问文件

库函数-访问文件
1. 库函数-创建和打开
#
FILE *fopen(const char *filename, const char *mode)
filename: 要打开的文件名
mode: 打开模式
r,rb: 只读方式打开
w,wb: 只写方式打开,如果文件不存在,则创建该文件
a,ab: 追加方式打开,如果文件不存在,则创建该文件
r+,r+b,rb+: 读写方式打开
w+,w+b,wb+: 读写方式打开,如果文件不存在,则创建该文件
a+,a+b,ab+: 读和追加方式打开,如果文件不存在,则创建该文件
b的意思是: Windows下有二进制文件和文本文件的区分,b代表打开的是二进制文件。在Linux下,r和rb是一样的。

2. 库函数-读
size_t fread(void *ptr, size_t size, size_t n, FILE *stream)
从stream指向的文件中读取n个字段,每个字段为size个字节,并把读出的数据放入ptr所指的字符数组中,返回实际已读字节数。

3. 库函数-写
size_t fwrite(const void *ptr, size_t size, size_t n, FILE *stream)
从缓冲区ptr所指的数组中把n个字段写到stream所指的文件中,每个字段长为size个字节,返回实际写入的字段数。

4. 库函数-读字符
#include<stdio.h>
int fgetc(FILE *stream)
从指定的文件中读一个字符
#include<stdio.h>
	main()
	{
		FILE *fp;
		char ch;
		if((fp=fopen("c1.txt","rt")) == NULL)
		{
			printf("\nCannot open file strike any key exit!")
			getch();
			exit(1);
		}
		ch = fgetc(fp);
		while(ch != EOF)
		{
			putchar(ch);
			ch = fgetc(fp);
		}
	}


5. 库函数-写字符
#include<stdio.h>
int fputc(int c, FILE *stream)
向指定的文件写入一个字符。

	#include<stdio.h>
	main()
	{
		FILE *fp;
		char ch;
		if((fp = fopen("string", “wt+”)) == NULL){
			printf("Cannot open file, strike any key exit!");
			getch();
			exit(1);
		}
		printf("input a string:\n");
		ch = getchar();
		while(ch != '\n'){
			fputc(ch, fp);
			ch = getchar();
		}
		printf("\n");
		fclose(fp);
	}


6. 库函数-格式化读
fscanf(FILE *stream, char *format[, argument...]
从一个流中进行格式化输入
	#include<stdlib.h>
	#include<stdio.h>
	int main(void)
	{
		int i;
		printf("Input an integer:");
		if(fscanf(stdin, "%d", &i))	//stdin 标准输入设备
			printf("The integer read was:%d\n", i)
		return 0;
	}



7. 库函数-格式化写
int fprintf(FILE *stream, char* format[,argment...])
格式化输出到一个流中
	#include<stdio.h>
	#include<process.h>
	FILE *stream;
	void main(void)
	{
		int i = 10;
		double fp = 1.5;
		char s[] = "this is a string";
		char c = '\n';
		stream = fopen("fprintf.out","w");
		fprintf(stream, "%s%c", s, c);
		fprintf(stream, "%d\n", i);
		fprintf(stream, "%f\n",fp);
		fclose(stream);
	}



8. 库函数-定位
int fseek(FILE *stream, long offset, int whence)
whence
SEEK_SET 从文件的开始处开始搜索
SEEK_CUR 从当前位置开始搜索
SEEK_END 从文件的结束处开始搜索

9. 库函数-路径获取
char *getcwd(char *buffer, size_t size)
获取当前路径。把当前的路径copy到buffer中,如果buffer太小,函数返回-1
	#include<unistd.h>
	main()
	{
		char buf[80];
		getcwd(buf, sizeof(buf));
		printf("current working directory:%s", buf);
	}



10. 库函数-创建目录
#include<sys/stat.h>
int mkdir(char *dir, int mode)
创建一个新目录
返回值:0表示成功,-1表示出错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值