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;
}