文件函数的简单介绍

2023-12-17 22:28:04

1.? 向文件中写入一个字符? fputc??

? ? int_Ch指的是输入文件中的字符 (int)的原因是以ascll码值的型式输入

#include <stdio.h>
#include <errno.h>
#include <string.h>
int main()
{
?? ?FILE* pf = fopen("test.txt","w");
?? ?if( pf == NULL )
?? ?{
?? ??? ?printf("%s\n",strerror(errno));
?? ??? ?return 1;
?? ?}
?? ?fputc('a',pf);
?? ?fclose(pf);
?? ?pf = NULL;
?? ?return 0;
}

2.? 向文件中写入一串字符串 fputs? ? ?

const char*_Str指的是字符串的首元素地址

3.? 向文件中以格式化写入? fprintf? ??

可以和printf类似

#include <stdio.h>
#include <errno.h>
#include <string.h>
int main()
{
?? ?FILE* pf = fopen("test.txt","w");
?? ?if( pf == NULL )
?? ?{
?? ??? ?printf("%s\n",strerror(errno));
?? ??? ?return 1;
?? ?}
?? ?fprintf(pf,"%s %d","abcdef",4);
?? ?fclose(pf);
?? ?pf = NULL;
?? ?return 0;
}

4.? 对应输出一个字符串 fgetc? ?

注意准确获取的是ascll值??

#include <stdio.h>
#include <errno.h>
#include <string.h>
int main()
{
?? ?int ch = 0;
?? ?FILE* pf = fopen("test.txt","r");

?? ?if( pf == NULL )
?? ?{
?? ??? ?printf("%s\n",strerror(errno));
?? ??? ?return 1;
?? ?}
?? ?ch = fgetc(pf);? ? 如果以后需要使用可以强制类型化(char)ch
?? ?fclose(pf);
?? ?pf = NULL;
?? ?return 0;
}

5. 获取一串字符串 fgets? ?

注意MaxCount

文件中的内容:

#include <stdio.h>
#include <errno.h>
#include <string.h>
int main()
{
?? ?char ch[20] = { '\0' };
?? ?FILE* pf = fopen("test.txt","r");

?? ?if( pf == NULL )
?? ?{
?? ??? ?printf("%s\n",strerror(errno));
?? ??? ?return 1;
?? ?}
?? ?fgets(ch,3,pf);
?? ?printf("%s\n",ch);
?? ?fclose(pf);
?? ?pf = NULL;
?? ?return 0;
}

结果是:

原因是默认字符串以 ‘\0' 结束 所以只能获取2个字符

6. fscanf? ? ?

#include <stdio.h>
#include <errno.h>
#include <string.h>
int main()
{
?? ?char arr[20] = { '\0' };
?? ?FILE* pf = fopen("test.txt","r");

?? ?if( pf == NULL )
?? ?{
?? ??? ?printf("%s\n",strerror(errno));
?? ??? ?return 1;
?? ?}
?? ?fscanf(pf,"%s",arr);? ?注意如果是整数 小数? 单个字符串 需要取地址&
?? ?printf("%s\n",arr);
?? ?fclose(pf);
?? ?pf = NULL;
?? ?return 0;
}

文章来源:https://blog.csdn.net/wx20041102/article/details/135050136
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。