标题:void 函数 调用问题
取消只看楼主
z605525923
Rank: 1
等 级:新手上路
帖 子:33
专家分:7
注 册:2017-4-19
结帖率:25%
已结贴  问题点数:10 回复次数:7 
void 函数 调用问题
      //这里一调用就出错
        filePutc () ;
     fileGetc () ;              大神看看这里为什么调用就出错呢
     filePuts () ;
     fileGets () ;
     fileWrite() ;
    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 调用 写入 文件 打开 
2017-09-08 23:14
z605525923
Rank: 1
等 级:新手上路
帖 子:33
专家分:7
注 册:2017-4-19
得分:0 
回复 2楼 renkejun1942
E:\学习课程、\49 课_ 文件操作\49 课_ 文件操作.cpp(29) : error C2065: 'filePutc' : undeclared identifier
E:\学习课程、\49 课_ 文件操作\49 课_ 文件操作.cpp(30) : error C2065: 'fileGetc' : undeclared identifier
E:\学习课程、\49 课_ 文件操作\49 课_ 文件操作.cpp(31) : error C2065: 'filePuts' : undeclared identifier
E:\学习课程、\49 课_ 文件操作\49 课_ 文件操作.cpp(32) : error C2065: 'fileGets' : undeclared identifier
E:\学习课程、\49 课_ 文件操作\49 课_ 文件操作.cpp(33) : error C2065: 'fileWrite' : undeclared identifier
E:\学习课程、\49 课_ 文件操作\49 课_ 文件操作.cpp(34) : error C2065: 'fileRead' : undeclared identifier
E:\学习课程、\49 课_ 文件操作\49 课_ 文件操作.cpp(41) : error C2373: 'filePutc' : redefinition; different type modifiers
E:\学习课程、\49 课_ 文件操作\49 课_ 文件操作.cpp(77) : error C2373: 'fileGetc' : redefinition; different type modifiers
E:\学习课程、\49 课_ 文件操作\49 课_ 文件操作.cpp(115) : error C2373: 'filePuts' : redefinition; different type modifiers
E:\学习课程、\49 课_ 文件操作\49 课_ 文件操作.cpp(134) : error C2146: syntax error : missing ';' before identifier 'fclose'
E:\学习课程、\49 课_ 文件操作\49 课_ 文件操作.cpp(139) : error C2373: 'fileGets' : redefinition; different type modifiers
E:\学习课程、\49 课_ 文件操作\49 课_ 文件操作.cpp(169) : error C2373: 'fileWrite' : redefinition; different type modifiers
E:\学习课程、\49 课_ 文件操作\49 课_ 文件操作.cpp(187) : error C2660: 'fwrite' : function does not take 3 parameters
E:\学习课程、\49 课_ 文件操作\49 课_ 文件操作.cpp(190) : error C2146: syntax error : missing ';' before identifier 'fclose'
E:\学习课程、\49 课_ 文件操作\49 课_ 文件操作.cpp(197) : error C2373: 'fileRead' : redefinition; different type modifiers
E:\学习课程、\49 课_ 文件操作\49 课_ 文件操作.cpp(221) : error C2065: 'priontf' : undeclared identifier
2017-09-08 23:33
z605525923
Rank: 1
等 级:新手上路
帖 子:33
专家分:7
注 册:2017-4-19
得分:0 
回复 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) ;
 }
2017-09-08 23:37
z605525923
Rank: 1
等 级:新手上路
帖 子:33
专家分:7
注 册:2017-4-19
得分:0 
回复 6楼 renkejun1942
头一次接触这个,就找了个视频在学习,然后就跟着视频一直写了2个小时了。 也不知道这个视频咋样
 然后我复制到代码后面了 还是运行不了
 如果不调用函数 代码是可以运行的
2017-09-08 23:44
z605525923
Rank: 1
等 级:新手上路
帖 子:33
专家分:7
注 册:2017-4-19
得分:0 
回复 6楼 renkejun1942
我调编译器,调成这样的 分号的距离远看起来舒服
2017-09-08 23:46
z605525923
Rank: 1
等 级:新手上路
帖 子:33
专家分:7
注 册:2017-4-19
得分:0 
回复 10楼 renkejun1942
就是呀,我看不出来呢什么问题,如果就写一个void 函数不调用 可以运行,调用函数就 提示未申明的标识符
2017-09-08 23:48
z605525923
Rank: 1
等 级:新手上路
帖 子:33
专家分:7
注 册:2017-4-19
得分:0 
回复 11楼 renkejun1942
喔, 我也不懂啊,第一次接触就喜欢上了,就开始自学了,书也在看,但是很难。
2017-09-08 23:50
z605525923
Rank: 1
等 级:新手上路
帖 子:33
专家分:7
注 册:2017-4-19
得分:0 
回复 14楼 renkejun1942
一些付费的网络课堂怎么样? 能不能买来学呢?? 比如腾讯,网易,淘宝一些的在线课程?
2017-09-08 23:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-480570-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052786 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved