回复 4楼 renkejun1942
											
int main(int argc, char* argv[])
{
    /*
     for (int i = 'A' ;i<='F' ;i++)
     {
          for (int j = 'A';j<=i; j++)
          {
              printf("%c ",j);
          }
          printf("\n");
     }
*/
      //这里一调用就出错
        filePutc () ;
     fileGetc () ;
     filePuts () ;
     fileGets () ;
     fileWrite() ;
     fileRead () ;
    return 0;
}
 // 写入字符的文件
 void filePutc ()
 {
     // 定义一个文件指对象
     // 指向所操作的文件内存
     FILE* pF ;
     // 打开一个文件
     // 如果不存在,创建一个新文件并打开
     // 如果文件在跟exe程序在同一个目录存在
     // 直接打开
     // 参数一:文件名,相对路径
     // 参数二:文件打开的方式,w,表示写入方法,可以向文件中写入内容
     //“r” 读取方式,只能读取数据,不能写入数据,不可写
     // 返回值,指向打开文件的指针,如果为NULL 打开文件失败
          pF = fopen ("data.txt","w") ;
                   if (pF==NULL)
         {
             puts("打开文件失败!");
                 return  ;
         }
         for (int i = 'A' ;i<'F' ; i++)
         {
             // 向文件中 写入字符
             // 参数一: 要写入字符的ASCLL
             // 参数二:要写入文件的指针
             fputc(i,pF);
         }
         // 关闭文件,保证文件正确
         fclose(pF) ;
 }
 
 // 读出字符到文件
 void fileGetc ()
 {
     FILE* pF ;
     //以读取的方式打开文件
    pF = fopen("data.txt","r") ;
     if (pF==NULL)
     {
         puts("打开文件失败!");
         return ;
     }
     // 从文件读取一个字符
     // 参数:文件指针
     // 返回值:读取好的字符
     char c =fgetc(pF) ;
     // 如果读取的字符不是文件结尾标志
     // 持续读取:EOF;文件结尾标示位
     while (c !=EOF)
     {
         //打印当前字符
         printf("%c",c);
         // 继续读取下一个字符
         c =fgetc(pF);
     }
     puts ("") ;
     // 关闭文件
     fclose(pF) ;
 }
 // 写入一组字符到文件
 void filePuts()
 {
          FILE* pF ;
         // 以读取的方式打开文件    
    pF = fopen("data.txt","w") ;
     if (pF==NULL)
     {
         puts("打开文件失败!");
         return ;
     }
     //打印字符串到文件中
     // 参数一:字符串地址
     // 参数二:写入文件的指针
     fputs ("12345\n",pF);
     fputs ("ABCDE\n",pF)
    // 关闭文件
     fclose(pF);
 }
// 读取字符串到文件中
 void fileGets()
 {
              FILE* pF ;
         // 以读取的方式打开文件    
    pF = fopen("data.txt","r") ;
     if (pF==NULL)
     {
         puts("打开文件失败!");
         return ;
     }
     char str[100] ;
 
     // 按行来读出字符串
     // 参数一:读取的字符存放的位置地址
     // 参数二:读取的字符个数
     // 参数三:从哪个文件读取
    fgets(str,12,pF) ;
    printf("%s",str) ;
    fgets(str,12,pF) ;
    printf("%s",str) ;
    fclose(pF) ;
 }
 //写入以任意大小的任何内容到文件中
 void fileWrite()
 {
                 FILE* pF ;
         // 以读取的方式打开文件    
    pF = fopen("data.txt","w") ;
     if (pF==NULL)
     {
         puts("打开文件失败!");
         return ;
     }
     char str[100] = "12345678abcdefg" ;
     // 写入任意个字符二进制数据到文件中
     // P1: 要写入的内容和指针void*任何类型都可以写入
     // p2: 每个变量的大小,根据变量的大小来确定
     // p3: 一共存储多少个变量内容:1*15
     // p4: 文件指针
     fwrite((void*)str,sizeof(char).15,pF)// 15的大小可以调整
    // 关闭文件
     fclose(pF);
 }
 // 读取任意大小的内容到文件中
 void fileRead ()
 {
                      FILE* pF ;
         // 以读取的方式打开文件    
    pF = fopen("data.txt","r") ;
     if (pF==NULL)
     {
         puts("打开文件失败!");
         return ;
     }
     char str[100]   ;
     // 写入任意个字符二进制数据到文件中
     // 返回值表示读取成功的有效字节数
     // 如果返回值为0:读取失败
      int r = fread(str,sizeof(char),10,pF);
      str[10]='\0' ;
      if(r!=0)
      {
          printf("读取的自己数%d\n",r);
          priontf("%s",str);
      }
      fclose(pF) ;
 }