精华内容
下载资源
问答
  • C语言_文件输入输出_二进制文件

    千次阅读 2019-04-11 10:59:16
    .Cpp 文件 是UTF-8编码,网页浏览使用的Unicode编码,不论什么时候数据通过不同的编码或平台之间,那些数据总会有损坏的危险。 举个例子:unicode在简体中文的环境下是乱码。所以保护数据尽量...

    二进制文件又名字节文件。一般指直接存放到磁盘或者内存中的文件。

    二进制文件与我们平常见到的 "txt”文件在本质上没有什么差别,后者比前者多了一个编码过程。比如文本文档使用的是ANSI编码,

    .Cpp 文件 是UTF-8编码,网页浏览使用的Unicode编码,不论什么时候数据通过不同的编码或平台之间,那些数据总会有损坏的危险。 举个例子:unicode在简体中文的环境下是乱码。所以保护数据尽量使用数据本身的属性进行操作。

    文件写入

    #include<fstream>  
    #include<iostream>  
    #include<string>
    using namespace std;
    int main()
    {
        char  ch[3]={'a','A','1'};
        ofstream outfile("0",ios::binary);
        if(!outfile){
          cout<<"open error!"<<endl;
          abort();
          }
         for(int i=0;i<3;i++)
         outfile.write((char*)&ch[i],sizeof(ch[i]));
         outfile.close();
         return 0;
    }
    

    文件输出:

    6141 31

    二进制文件保存后显示为十六进制的数字 61--->97 对应的ASCII为    'a'

                                                                      41--->65 对应的ASCII为    'A'

                                                                      31--->49 对应的ASCII为    '1'

    文件只读

    #include<fstream>  
    #include<iostream>  
    #include<string>
    using namespace std;
    int main()
    {
        char inch[5];
      ifstream infile("0",ios::binary);
      if(!infile)
       {
                 cerr<<"open error!"<<endl;
                 abort();
       }
       for(int i=0;i<3;i++)
       infile.read((char*)&inch[i],sizeof(inch[i]));
       infile.close();
       cout<<inch<<endl;
       system("pause");
       return 0;
    }
    

    批量二进制合并

    #include<fstream>  
    #include<iostream>  
    #include<string>
    char inch[1000005];
    using namespace std;
    int main()
    {
        
      fstream iofile("re",ios::in|ios::out|ios::binary);
    //频繁的读取写入
       if(!iofile)
       {
                 cerr<<"open io error!"<<endl;
                 abort();
       }
       
        for(int j=0;j<=30;j++){
                char temp[4];
                itoa(j,temp,10);
       char * filet=temp;//文件名称(或者文件路径)
       
      ifstream infile(filet,ios::binary);
      if(!infile)
       {
                 cerr<<"open error!"<<endl;
                 abort();
       }
         /*重新定义一个临时对象,对输入流操作:seekg()与tellg()*/
           
             //获取文件大小 (字节)
                   int ps;
                   ifstream fin(filet);
                            if( fin.is_open() )
                            	{
                             		fin.seekg( 0, ios::end );
                                    //基地址为文件结束处,偏移地址为0,于是指针定位在文件结束处
                               		int size = fin.tellg();
    //tellg()函数不需要带参数,它返回当前定位指针的位置,也代表着输入流的大小。
                               		fin.close();
    	                            ps=size;
    	                        }
                   
                  // cout<<ps<<endl;
       for(int i=0;i<ps;i++)
       infile.read((char*)&inch[i],sizeof(inch[i]));
       infile.close();
       
       iofile.seekp(0,ios::end);//指针指向文件的尾部
       for(int i=0;i<ps;i++)
         iofile.write((char*)&inch[i],sizeof(inch[i]));
         
       }
       iofile.close();
      // cout<<inch<<endl;
       system("pause");
       return 0;
    }
    

     

    展开全文
  • 通过键盘输入为一维数组元素赋值  * 输入格式:各输入数据之间以空格分隔  * 形式参数:p,int型指针变量,一维整型数组首地址  * 形式参数:n,int型,一维数组...
  • 通过看程序截图,可以看到:最后的$$$$后面没有输出数据,原因是printf("…")其中的…是字符串常量,不能混入变量n,否则会被当成字符串常量对待。失去了变量n的意义。所以只能用sprintf来向格式控制数组...

    需要明确一点:sprintf是把东西输入到字符数组的函数
    对sprintf函数的讲解就不再赘述了。
    主讲输出n位小数:
    在这里插入图片描述
    通过看程序截图,可以看到:最后的$$$$后面没有输出数据,原因是printf("…")其中的…是字符串常量,不能混入变量n,否则会被当成字符串常量对待。失去了变量n的意义。所以只能用sprintf来向格式控制数组formatControl输入该输出的格式。

    需要明白一点:printf(格式控制,输出列表);这是printf函数的格式,格式控制用字符串常量或者字符数组都行。为什么字符串常量可以替换为字符数组,因为程序中存储字符串常量是以字符串的首字符的地址来存储的,而数组名也是数组首元素地址,所以printf(,)中第一个逗号之前放的实质上地址。通过地址找到该输出的格式。个人见解,如果感觉有道理,可以采纳,如果感觉我说的是错的,请及时评论改正!以免误导他人谢谢。

    展开全文
  • 1.什么是变量? 程序的编写过程钟会必不可少的用到数据,而数据以二进制的形式存放在内存之中,内存是一个非常大的空间,而使用变量并不需要了解变量在计算机内存中的地址,变量是一种使用方便的占位符,用于引用...

    C程序变量

    1.什么是变量?
    程序的编写过程钟会必不可少的用到数据,而数据以二进制的形式存放在内存之中,内存是一个非常大的空间,而使用变量并不需要了解变量在计算机内存中的地址,变量是一种使用方便的占位符,用于引用计算机内存地址,只要通过变量名引用变量就可以查看或更改变量的值。

    变量类型

    有两种类型的数据类型,用户定义和预定义。常用的预定义的数据类型是int,char,float,double等,用户使用标签struct,union或enum创建用户定义的数据类型。基本上,数据类型描述变量的大小。
    在C语言中,不同的数据类型具有不同的范围。
    具体可以参看C语言的基本数据类型

    变量定义

    1.格式:[类型名] [变量名];
    变量要先声明后使用。
    例子:

    int a;
    float b;
    double c;
    struct Student
    {
    	int Stunum;		
    	int Chinese;
    	int Math;
    	int English;
    	int Sum;		
    	struct Student *next;
    
    };
    

    2.变量名命名规则
    ①变量名只能是字母、数字或下划线的任意组合。
    ②变量名的第一个字符不能是数字。
    ③以下关键字不能声明为变量名。
    ④变量的命名尽量做到见名知意
    ⑤驼峰式命名

    C程序的输入输出

    这里主要学习两个函数scanfprintf 还有一个格式占位符

    首先说格式占位符由“%”和格式字符组成,如%d%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。
    具体有哪些占位符详见C语言中的格式占位符

    输入函数scanf ();和输出函数printf();
    例子:

    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
    	int num1,num2,num3;
    	printf("请输入两个加数:\n");
        scanf("%d%d",&num1,&num2);
        num3 = num1 + num2 ;
        printf("%d + %d = %d\n",num1,num2,num3);
        
    	system("pause");
    	return 0;
    }
    
    
    1. scanf双引号中除了占位符,尽量不要写任何其他的东西,否则输入时很有可能产生错误。
    2. 占位符只是代表从键盘输入了一个数,放在哪里跟变量名有关系,要取地址。
    3. 输入比输出多了一个地址的约束。
    4. 当连续输入多个变量时,分开写。
    5. scanf中除了占位符,还有其他字符的话,用户在输入数据时候,要按照双引号中的顺序输入有效数据和其他字符。
    展开全文
  • 2009-05-16 回答有3种 1. #include <stdio.h> #include <string.h> int main(void) { int nnum1... printf("请输入第一个整数:"); scanf("%d",&nnum1); printf("\n请输入第二个整数:\n"); scanf("...

    2009-05-16 回答

    有3种 1. #include <stdio.h> #include <string.h> int main(void) { int nnum1,nnum2; printf("请输入第一个整数:"); scanf("%d",&nnum1); printf("\n请输入第二个整数:\n"); scanf("%d",&nnum2); printf("\n输入的两个数为:%d,%d,其大小关系为:",nnum1,nnum2) if(nnum1 < nnum2){ printf("%d < %d",nnum1,nnum2); }else printf("%d > %d",nnum1,nnum2); return 0; } 2. #include <stdio.h> #include <string.h> int main(void) { int i,nnum,nsum=0; int a[10]={0}; for(i=0;i<10;i++){ printf("请输入第%d个整数:\n",i+1); scanf("%d",&a[i]); } for(i=0;i<10;i++){ if(a[i]>0){ nsum+=a[i]; nnum++; } } printf("输入的正整数有%d个,其平均值为:%f",nnum,(float)nsum/nnum); return 0; } 3. #include <stdio.h> #include <string.h> int main(void) { int a[3],nmin,nmax; int i; for(i=0;i<3;i++){ printf("请输入第%d个整数:\n",i+1); scanf("%d",&a[i]); } nmin=nmax=a[0]; if(nmin<a[1]){ nmin=a[1]; } if(nmin<a[2]){ nmin=a[2]; } if(nmax>a[1]){ nmax=a[1]; } if(nmax>a[2]){ nmax=a[2]; } printf("输入的三个数为:%d,%d,%d,最大值为:%d,最小值为:%d",a[0],a[1],a[2],nmax,nmin); return 0; } 追分哦!!!!!!!!!!!

    展开全文
  • 一般的if语句只有两个分支可供选择,... switch语句就像许多扇“大门”一样, 上面标注了要符合什么条件的才能够通过。使用swich语句可方便地处理同一表达式有多个分支的情况。其语法格式如下:switch (表达式) { cas...
  • 第五版谭浩强课后答案 第十章《对文件的输入输出​》习题答案1.什么是文件型指针?通过文件指针访问文件有什么好处?2.对文件的打开与关闭的含义是什么?为什么要打开和关闭文件?3.从键盘输入一个字符串,将其中的...
  • C语言感悟

    2019-10-09 00:47:44
    C语言中的代码,只是一些框架和输入输出的形式,不需要花许多时间去背太多太多,掌握如果使用,清楚有什么特点,有哪些注意的细节就好。其实C语言的学习并不枯燥,当你攻克老师留下的一道道问题时,...
  • 本来想用strstr查找的,但是折腾了几天,要不就是所有文件名都无法输出,全是NULL,要不就不管输入什么词,都会把所有文件名输出来(两个极端)。 所以想问问大佬们,是我哪一块做错了,毕竟所有函数用法都是百度查...
  • 以链表形式向文件输入数据,建立信息,然后想着写个输出函数看看是否输入 进去了,结果编译运行什么也没有显示。但编译通过没问题,不知道代码哪里 出来问题,想请教各位大神们帮忙看看代码,看看哪里有什么问题。...
  • c语言和c++有什么区别

    千次阅读 2019-04-04 10:01:22
    C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。 C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过...
  • C语言编程总结(一)

    2021-04-26 17:24:51
    c语言中的输入输出语句都是通过标准库实现的,比如你输入用的scanf 输出用的printf putchar 之类的 都是库函数。所以,C语言本身不提供输入输出语句,而是通过标准库实现。 2.虚函数 3.gcc 什么是gcc / g++ ...
  • 2019-11-26 回答有两种理解.(1)库函数是c语言的内部函数或自带函数,外部函数即程序员自定函数.(2)凡加写了extern 的函数是...例如, sin(),cos()等数学函数,在math.h中定义了,输入输出函数 printf(),fgetc()在stdio....
  • C 语言与 C++ 语言有什么区别 C 是一个结构化语言 如谭老爷子所说 它的重点在于算法和数据结构 C 程序 的设计首要考虑的是如何通过一个过程 对输入 或环境条件进行运算处理得 到输出或实现过程事务控制而对于 C++ ...
  • C语言指针

    2019-06-24 19:45:53
    指针变量指针变量的定义指针变量的引用通过指针引用数组通过指针对一维数组进行操作输入输出 绪论 在本篇文章中作者将结合自己所学,为大家带来一篇详细的关于C语言指针的讲解,因为内容较多,所以我会每天更新,...
  • 输入三个整数,按由小到大的顺序输出。并且要求使用指针,于是我写了这样的代码 <p>#include<stdio.h> void swap(int *a,int *b, int *c) {<!-- -->  int *i;  if(*b&...
  • C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。 C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过...
  • 在了解linux输入输出重定向之前,我们先来看看什么是linux的文件描述符。 linux文件描述符 linux文件描述符可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就...
  • 下午手贱JavaScript写了个题,当然了最后也没通过,不是我代码问题,我换了三个四个浏览器,输出都没问题,但是提交OJ的判定系统就说我没有输出????,看了一下其他用户的反馈,看来应该是判题系统的问题不过记录一下...
  • c语言--数组

    千次阅读 2017-11-05 10:54:11
    通过前一阵子的c语言学习,相信对变量,基本输入输出有了一定的了解,下面我们继续开始学习c语言比较重要的一块–数组概括1.什么叫数组?为什么要有数组? 2.数组的基本操作 a.查询 b.插入 c.删除 d.简单...
  • C语言教程基础

    2012-09-11 09:37:44
    例如,stdio.h是标准输入输出函数原型所在的头文件。 例1 C程序结构 例2. 自定义头文件用法 } 1.1.3数据类型 不同平台的C数据类型的范围和分配的字节数并不完全...
  • 通过学习我们知道C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度 的抽象和建模时,C语言则不合适。为了解决软件危机, 20世纪80年代, 计算机界提出了OOP(object ...
  • c语言词法分析

    2012-04-13 16:33:08
    程序输入/输出示例: 如源程序为C语言输入如下一段: main() { int a,b; a = 10; b = a + 20; } 要求输出如右图。 要求: 识别保留字:if、int、for、while、do、return、break、continue 其他的都识别为标识符;...
  • C语言实现猜数字游戏

    2021-03-28 10:18:36
    可以先想一想思路,主要是通过判断来实现,比如输入一个数,与随机数相对比,如果大了就在屏幕上面输出猜大了,如果小了就输出猜小了,所以就可以通过这样实现,所以先弄一个菜单,通过调用函数去实现。创建一个菜单...
  • conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。 conio.h则是一个库文件,当程序中使用...
  • 程序也具有功能,它的功能也是通过把使用者的输入变成输出体现的,函数与程序的区别在于它们的使用者不同。函数常被其他函数调用,而程序通常由人使用。 在规模上,程序的功能强大,而函数的功能单一。程序中main...
  • C语言讲义.doc

    2018-01-27 10:41:43
    3 字符串格式化输出输入 26 3.1 字符串在计算机内部的存储方式 26 3.2 PRINTF函数,PUTCHAR函数 27 3.3 SCANF函数与GETCHAR函数 28 4 运算符表达式和语句 29 4.1 基本运算符 29 4.1.1 = 29 4.1.2 + 29 4.1.3 – 29...
  • C语言 可变参数

    2014-01-11 15:15:00
    比如 C 语言的 printf 系列的(格式化输入输出等)函数,都是参数可变的。下面是 printf 函数的声明: int printf ( const char * format, ... ); 可变参数函数声明方式都是类似的。 1.2 如何实现 C语言可变参数...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 266
精华内容 106
关键字:

c语言通过什么输入输出

c语言 订阅