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