Day 2.几个简单的函数接口 今日份浅学

1.函数接口

(1).fgetc:

  int fgetc(FILE *stream);

  功能:从流中度区下一个字符

  参数:

      stream:文件流指针

  返回:

     成功返回ASCII值  失败返回 EOF  读到文件末尾返回EOF

练习:

读出文件内容的行数

#include <stdio.h>

int main (void)
{
	FILE *fp = NULL;
	char ch = 0 ;

	fp = fopen ("file.txt","r");
	if (fp ==NULL)
	{
		perror("file to fopen");
		return -1;
	}

	int i = 0;
	while(1)
	{
		ch = fgetc(fp);
		if (ch == '\n')
		{
			++i;
		}
		if (EOF == ch)
		{   
			break;
		}
	//	printf ("ch = %c\n",ch);
	}

	printf ("len = %d\n",i);

	fclose(fp);

	return 0;
}

(2).fgetc/fputc与getchar/putchar的区别   (等价)

        char ch = 0;
        ch = getchar();
        ch = fgetc(stdin);

        char ch = 'a'
        putchar(ch);
        fputc(ch, stdout);

练习:

实现将一个文件中的内容拷贝到另一个文件中

#include <stdio.h>

int main (void)
{
    FILE *fp = NULL;  
	char ch = 0 ;
	FILE *fq = NULL;  //定义两个文件的指针流 

	fp = fopen ("file.txt","r");   //读取源文件并用fp接收
	fq = fopen ("file1.txt","w");   //创建一个文件并写入 用fq接收

	if (fp == NULL)               
	{
		perror("file to fopen");     //判断是否有源文件 没有则返回-1
		return -1;
	}

	if (fq == NULL)
	{
		perror("file1 to fopen");    //判断是否有目标文件  没有则返回-1
		return -1;
	}

	while(1)         //进入循环
	{
		ch = fgetc(fp);    //将源文件读到的每个字符用ch接收

		if (EOF == ch)
		{   
			break;           //直到将最后一个字符读完 跳出循环
		}
		fputc(ch,fq);    //将读到的每个字符依次写入到目标文件中
	}

	fclose(fp);     
    fclose(fq);    //释放掉这两个文件指针的缓冲区

    return 0;
}

(3).fputs

     int fputs(const char *s,FILE *stream);

     功能:向流写入一个字符串

    参数:

          s:字符串收首地址

 stream:文件流指针

   返回值:成功返回非负数  失败返回EOF

练习:

将一个一组数组的一个字符串写入到指定文件按中

#include <stdio.h>

int main (void)
{	
    FILE *fp = NULL;
	char s[30] = {"hello world"};

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

	if (fp == NULL)
	{
		perror("file to fopen!");
		return -1;
	}

	fputs(s,fp);
	fclose(fp);


	return 0;
}

(4).fgets

  char *fgets(char *s,int size,FILE *stream);

  功能:从流中读取一个字符串

  参数:

      s:存放字符串空的首地址

  size:最多读取字符的个数

stream:文件流指针

  返回值:成功返回存放文件字符串的首地址   失败返回NULL  读到文件末尾返回NULL

练习:

将指定文件的指定字符串中的指定个数的字符读到所定义的数组中

#include <stdio.h>

int main(void)
{
	FILE *fp = NULL;
	char tmpbuff[3] = {0};
	
	fp = fopen("file.txt", "r");
	if (NULL == fp)
	{
		perror("fail to fopen");
		return -1;
	}

	fgets(tmpbuff, sizeof(tmpbuff), fp);
	printf("tmpbuff = %s\n", tmpbuff);

	fclose(fp);

	return 0;
}

相关推荐

  1. C语言从头31——与字符串变量相关函数

    2024-02-06 20:10:02       27 阅读
  2. pytorch常用函数详解

    2024-02-06 20:10:02       52 阅读
  3. opencv中重要函数

    2024-02-06 20:10:02       56 阅读
  4. 用于接收参数注解

    2024-02-06 20:10:02       32 阅读
  5. C语言今日练习

    2024-02-06 20:10:02       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-06 20:10:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-06 20:10:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-06 20:10:02       87 阅读
  4. Python语言-面向对象

    2024-02-06 20:10:02       96 阅读

热门阅读

  1. iview 页面中判断溢出才使用Tooltip组件

    2024-02-06 20:10:02       54 阅读
  2. 【python】用keyboard进行键盘监控

    2024-02-06 20:10:02       47 阅读
  3. 爱上算法:每日算法(24-2月5号)

    2024-02-06 20:10:02       49 阅读
  4. rsa加密登录解决方案

    2024-02-06 20:10:02       44 阅读
  5. C语言中的函数指针、指针函数与函数回调

    2024-02-06 20:10:02       53 阅读
  6. 绕过过滤空格的 SQL 注入

    2024-02-06 20:10:02       59 阅读
  7. 14.2 url后端过滤器(❤❤)

    2024-02-06 20:10:02       48 阅读
  8. jsp页面,让alert弹出信息换行显示

    2024-02-06 20:10:02       49 阅读