#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
#define PATH "./file.txt"
void fileWrite(void)
{
FILE* fp = fopen(PATH,"w");
if(fp == NULL)
{
perror("file open failed");
return;
}
char str[] = "人生若只如初见,何事秋风悲画扇。A";
int i = 0;
char ch;
for(i=0;i<strlen(str);i++)
{
ch = fputc(str[i],fp);
printf("%c",ch);
}
fclose(fp);
}
void fileRead(void)
{
FILE* fp = fopen(PATH,"r");
if(fp == NULL)
{
perror("file open failed");
return;
}
char ch;
while(!feof(fp))
{
ch = fgetc(fp);
printf("%c",ch);
}
fclose(fp);
}
void fileReadWrite(void)
{
FILE* fp = fopen(PATH,"w+");
if(fp == NULL)
{
perror("file open failed");
return;
}
//先写文件
char str[] = "You are being watched. The government has a secret system, the machine that spies on you every hour of every day.";
int temp = fputs(str,fp);
printf("fputs return:%d\n",temp);
//把文件位置指针移动到文件的开头
rewind(fp);
//读取文件
char re_buff[128] = {0};
char *re_temp = fgets(re_buff,sizeof(re_buff),fp);
printf("re_temp:%s re_buf:%s\n",re_temp,re_buff);
fclose(fp);
}
//格式化读写
void fileFormatReadWrite(void)
{
FILE* fp = fopen(PATH,"w+");
if(fp == NULL)
{
perror("file open failed");
return;
}
//写,搭配循环使用
//fprintf(fp, "%d %s %s %s\n",id,account,password,name);
//回到开头
rewind(fp);
//读
while(!feof(fp))
{
//fscanf(fp,"%s %d %c",val_1,val_2,val_3);
}
fclose(fp);
}
void fileCpoy(void)
{
}
void str_test(void)
{
puts(strchr("../files/file.txt",'/'));
puts(strrchr("../files/file.txt",'/'));
}
int main(int argc,char* argv[])
{
//fileWrite();
//fileRead();
//fileReadWrite();
str_test();
return 0;
}
/*
* input
*
* int fputc(int c, FILE *stream);
* int fputs(const char *s, FILE *stream);
* int putc(int c, FILE *stream);
* int putchar(int c);
* int puts(const char *s);
*
*
* output
*
* int fgetc(FILE *stream);
* char *fgets(char *s, int size, FILE *stream);
* int getc(FILE *stream);
* int getchar(void);
* int ungetc(int c, FILE *stream);
*
*
*/
/***********************************************
#include <stdio.h>
int printf(const char *format, ...);
int fprintf(FILE *stream, const char *format, ...);
int dprintf(int fd, const char *format, ...);
int sprintf(char *str, const char *format, ...);
int snprintf(char *str, size_t size, const char *format, ...);
#include <stdarg.h>
int vprintf(const char *format, va_list ap);
int vfprintf(FILE *stream, const char *format, va_list ap);
int vdprintf(int fd, const char *format, va_list ap);
int vsprintf(char *str, const char *format, va_list ap);
int vsnprintf(char *str, size_t size, const char *format, va_list ap);
************************************************/
/************************************************
#include <stdio.h>
int scanf(const char *format, ...);
int fscanf(FILE *stream, const char *format, ...);
int sscanf(const char *str, const char *format, ...);
#include <stdarg.h>
int vscanf(const char *format, va_list ap);
int vsscanf(const char *str, const char *format, va_list ap);
int vfscanf(FILE *stream, const char *format, va_list ap);
************************************************/
/***********************************************
char *strchr(const char *s, int c);
char *strrchr(const char *s, int c);
char *strchrnul(const char *s, int c);
str: 要搜索的字符串。
c: 要查找的字符
strchr() 查找字符的第一次出现。
strrchr() 查找字符的最后一次出现。
strchrnul() 查找字符的第一次出现,如果未找到则返回指向字符串末尾的指针。
**********************************************/