精华内容
下载资源
问答
  • printf是c中保留下来的,cout cin是c++的输入输出流,存在于文件iostream文件中,这个是C++自带的头文件 遇到问题,编译cout,提示,找不到cout,原因:没有将iostream包含在VC++的库中,解决方法:在属性-VC++...

    printf是c中保留下来的,cout 和cin是c++的输入输出流,存在于文件iostream文件中,这个是C++自带的头文件

    遇到问题,编译cout时,提示,找不到cout,原因:没有将iostream包含在VC++的库中,解决方法:在属性-VC++的附加包含目录中添加include文件:D:\Microsoft Visual Studio 10.0\VC\include。

    #include<iostream>

    using namespace std;  #引用命名空间std

    写了using namespace std 就可以直接用cout cin endl等了

    如果不写using namespace std, 必须这样使用

    std::cout <<表达式<<std::end;

    注意std::endl,endl前也要加std::

    1. <iostream>和<iostream.h>是不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。

    后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。

    因此,当使用<iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;

    当使用<iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。

    2.所谓namespace,是指标识符的各种可见范围,用于定义命名空间的关键字,std就是那个命名空间,包含标准程序库。

    C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。

    由于namespace的概念,使用C++标准程序库的任何标识符时,可以有三种选择:

    1、直接指定标识符。例如std::ostream而不是ostream。完整语句如下:
    std::cout << std::hex << 3.4 << std::endl;

    2、使用using关键字。
    using std::cout;
    using std::endl;

    以上程序可以写成
    cout << std::hex << 3.4 << endl;

    3、最方便的就是使用using namespace std;

    例如:
    #include <iostream>
    #include <sstream>
    #include <string>
    using namespace std;

     

    c++中 ::的作用

    (1)作用域限定符,当在类体中直接定义函数时,不需要在函数名字的前面加上类名,但是在类体外实现函数定义的时候,必须加上类名并且加上作用域限定符。Student::Display();

    展开全文
  • C语言输入和输出

    2019-10-20 15:55:17
    数据的输入和输出 1.有关概念 1)输入输出是以计算机主体而言的。 2)C语言本身不提供输入输出语句,输入输出操作是由C标准函数库中的函数来实现的。 3)要在程序文件的开头用预处理指令#include把有关头文件...

    数据的输入和输出

    1.有关概念

    1)输入输出是以计算机主体而言的。
    2)C语言本身不提供输入输出语句,输入输出操作是由C标准函数库中的函数来实现的。
    3)要在程序文件的开头用预处理指令#include把有关头文件放在本程序中。
    关于头文件的形式:
    使用尖括号的话,编译时会先在系统include目录里搜索,如果找不到才会在源代码所在目录搜索。这称为标准方式
    使用双引号则相反,会先在源代码目录里搜索,如果未找到则去系统默认目录查找,通常用于包含程序作者编写的头文件。

    2.用printf函数输出数据(printf函数用来向终端输出若干个任意类型的数据)

    1)printf函数的一般格式为:printf(格式控制,输出列表)
    ①格式控制由格式声明(由%和格式字符组成)和普通字符(原样输出)组成
    ②输出列表是程序需要输出的一些数据,可以是常量、变量或表达式。
    2)格式字符
    ①d格式字符:用来输出一个有符号的十进制整数。
    ②c格式符:用来输出一个字符。
    ③s格式符:用来输出一个字符串。
    ④f格式符:用来输出实数(包括单、双精度、长双精度)。
    ⑤e格式符:指定以指数形式输出。
    其他格式符因为初学时使用不多不做整理,用时查阅。

    3.字符输入输出函数

    1)putchar输出一个字符,函数的一般形式为putchar©
    用putchar函数既可以输出能在显示器屏幕上显示的字符,也可以输出屏幕控制字符。
    2)用getchar函数输入一个字符,一般形式为getchar()
    执行getchar函数不仅可以从输入设备获得一个可以显示的字符,而且可以获得在屏幕上无法显示的字符,如控制字符。

    展开全文
  • (1)程序文件,包括源程序文件(后缀为.c)、源文件编译生成的目标文件(.obj)、可执行文件(.exe)。(2)数据文件,是供程序运性读写的数据。 2、文件名 一个文件要有一个唯一的文件标识,以便用户识别...

    1、什么是文件

    在程序设计中,主要用到两种文件。(1)程序文件,包括源程序文件(后缀为.c)、源文件编译生成的目标文件(.obj)、可执行文件(.exe)。(2)数据文件,是供程序运性时读写的数据。

    2、文件名

    一个文件要有一个唯一的文件标识,以便用户识别和引用。文件标识包括三部分:(1)文件路径(2)文件名主干(3)文件名后缀。

    3、文件的分类

    根据数据的组织形式,数据文件可分为ASCII文件和二进制文件,数据在内存中是以二进制形式存储的,如果不加以转化的输出到外存,则就是二进制文件(也称为映像文件)。ASCII文件又称为文本文件,每一个字节放一个字符的ASCII代码。

    一个数据在磁盘上怎么存储呢?字符一律以ASCII形式存储(即一个字符占一个字节),数值型数据既可以用到ASCII形式存储,也可以用二进制形式存储。比如:整数10000,用ASCII形式存储,占用5个字节空间;用二进制形式存储则需要占用五个字节空间。

    用ASCII码形式输出(出内存)字节与字符一一对应,一个字节代表一个字符,便于对字符进行逐个处理,也便于输出字符。但一般占用存储空间较多,而且要花费转换时间(将内存中的二进制数据,转换为ASCII码形式,写入文件中)。当然用·二进制形式输出数值,可以节省磁盘空间和转换时间。如果程序运行中有中间数据需要保存在外介质上,以便在需要时在输入到内存中,一般用二进制文件比较方便。

    在事务管理中,常有大批数据存放在磁盘上,随时调入计算机进行查询或处理,然后又把修改过的信息在存回磁盘。这是也常用二进制文件。

    所以可以总结的说:当程序运行过程中需要快速对数据进行保存,以便随时处理数据(效率),这时常用二进制形式。

    4、文件缓冲区

    文件缓冲区(file buffer)系统自动滴在内存区为程序每一个正在使用的文件开辟一个文件缓冲区。就是说从内存向磁盘输出数据必须先送到内存中的文件缓冲区中去,当缓冲区装满后才一起送到磁盘去。一样的从磁盘向内存中输入数据时,数据先到文件缓冲区,充满后,在输入到程序内存中。

    5、文件类型指针

    每一个被使用的文件都在内存中开辟一个相应的文件信息区,用来存放文件的有关信息(文件的名字,文件状态,文件当前位置等等),这些信息是保存在一个结构体变量中,该结构体由系统声明,取名为FILE。通俗的说:一个名为FILE的·结构体中,存放着文件的各种信息,所以为了对文件操作我们必须要创建一个指向该结构体的指针FILE *fp,才能用该文件的各种信息变量。

    6、打开与关闭文件

    fopen(文件名,使用文件方式)

    如fopen("a","r");指要打开名字为a的文件,只对文件进行读操作。该函数会返回一个文件类型指针。

    r是只读,打开一个已存在文本文件。rb为了读文件,打开一个已存在二进制文件。r+为了读和写打开一个已存在文本文件。如果该文件不存在,则会返回NULL(空指针)。

    w是只写,建立一个新文本文件。wb为了写文件,新建一个二进制文件。w+为了读和写建立一个新的文本文件。如果有指定文件,则删除此文件,并且建立新的文件。

    a追加,向已存在文本文件尾添加数据。ab向已存在二进制文件尾添加数据。a+为了读和写打开一个已存在文本文件。ab+为了读和写打开一个已存在二进制文件。如果该文件不存在,则会返回NULL(空指针)。

    fclose(fp),把fp指向的文件关闭,此后fp不再指向该文件。

    如果不关闭文件会丢失数据,因为当数据未充满缓冲区而程序结束运行,就有可能使缓冲区中的数据丢失。要用fclose关闭文件,先把缓冲区中的数据写到文件中,然后才撤销文件信息区。

    fclose也带回一个返回值,当成功执行了关闭操作,则返回值为0,否则返回文件结束符EOF(-1);

    7、怎样向文件读写字符

    fgetc(fp),从fp所指文件读入一个字符,fputc(ch,fp),把字符ch写到文件指针fp所指的文件中。若失败返回文件结束符EOF(-1);

    8、怎么向文件读写一个字符串

    fgets(str,n,fp);向fp所指文件读入长度为n-1的字符串,并在最后一个字符‘\0(这样就读入了n个字符),并且在读入过程中将‘\0'也作为一个字符读入。函数若成功返回数组str首元素地址,如果一开始就遇到文件尾或读数据出错则返回NULL;

    fputs(str,fp);将str指的字符串输出到文件fp中。字符串末尾的‘\0'不输出。若输出成功返回0,若失败值为EOF(-1);

    9、用格式化方式读写文件

    fprintf(文件指针,格式字符串,输出列表);  fscanf(文件指针,格式字符串,输入列表)不太常用。

    10、用二进制方式向文件读写一组数据

    在读写时是以二进制形式进行的,在向磁盘写数据是,直接将内存中的二进制数据、不加转换的赋值到磁盘上。

    一般调用形式为:fread(buffer,size,count,fp);     fwrite(buffer,size,count,fp);

    size是要读写的字节数,count要读写的数据项(每个数据项长度为size)、FILE文件类型指针。buffer对fread来说,是用来存放数据起始地址(数组地址),对fwrite来说,需要写入的数据的起始地址(数组地址)。

    11、随机读写数据文件

    rewind(fp);函数使文件位置标记重新指向文件开头,无返回值。

    fseek(文件类型指针,位移量,起始点);起始点用0、1、2代替。0代表文件开始位置,1位当前位置,2位文件末尾位置。

    SEEK_SET代表0,SEEK_CUR代表1,SEEK_END代表2。位移量的单位是字节。

     

     

     

    展开全文
  • 第九章 流类库和输入 / 输出 文件是存储在磁盘磁带等外部设备上数据集合每 一个文件都必须有一个唯一名字使用文件前必须首先 打开文件使用后必须关闭文件文件的操作通过 文件流类完成的文件流类在流与文件之间...
  • C/c++输入输出函数

    2013-10-10 20:11:00
    最全输入函数 c/c++一:c=getchar();功能:读入一个字符说明:调用此函数要求在程序的第一行有预编译命令:#...盘上输入^z(即CTRLZ键同时按下)C得到的值是-1,^z称文件结尾,在程序中经 常使用符号常...

    最全输入函数 c/c++
    一:
    c=getchar();
    功能:读入一个字符
    说明:调用此函数时要求在程序的第一行有预编译命令:#include<stdio>,不过在做c++时

    有#include<iostream>也够了。变量c获得一个从标准设备上读取的字符代码值。当从键

    盘上输入^z(即CTRL和Z键同时按下)时,C得到的值是-1,^z称文件结尾,在程序中经

    常使用符号常量EOF表示。
    二:
    字符串输入函数
    char *s;
    gets(s);
    功能:读取一个字符串,存入s所指向的内存内。当遇到<CR>时结束字符串的输入,并且

    自动将<CR>字符转换成‘\0’(即NULL)放在串的末尾,使其构成一个字符串。
    说明:S是一个字符串指针,它指向所取字符串的首地址。正常返回时,返回取到字符串

    的首地址。如遇到文件尾货出错时返回NULL。NULL定义的形式为“#DEFINE NULL  0”
    它包含在stdio.h的头文件中。若再c++中使用则要加头文件#include<string>
    类似cin.getline()里面的一个例子,gets()同样可以用在多维数组里面:
    #include<iostream>
    #include<string>
    using namespace std;
    main ()
    {
    char m[3][20];
    for(int i=0;i<3;i++)
    {
    cout<<"\n请输入第"<<i+1<<"个字符串:"<<endl;
    gets(m[i]);
    }
    cout<<endl;
    for(int j=0;j<3;j++)
    cout<<"输出m["<<j<<"]的值:"<<m[j]<<endl;
    }
    请输入第1个字符串:
    kskr1
    请输入第2个字符串:
    kskr2
    请输入第3个字符串
    kskr3
    输出m[0]的值:kskr1
    输出m[1]的值:kskr2
    输出m[2]的值:kskr3
    自我感觉gets()和cin.getline()的用法很类似,只不过cin.getline()多一个参数罢了;
    这里顺带说明一下,对于本文中的这个kskr1,kskr2,kskr3的例子,对于cin>>也可以适用

    ,原因是这里输入的没有空格,如果输入了空格,比如“ks kr jkl[回车]”那么cin就会已

    经接收到3个字符串,“ks,kr,jkl”;再如“kskr 1[回车]kskr 2[回车]”,那么则接

    收“kskr,1,kskr”;这不是我们所要的结果!而cin.getline()和gets()因为可以接收空格,

    所以不会产生这个错误;
    三.
    cin.get()
    用法1: cin.get(字符变量名)可以用来接收字符
    #include <iostream>
    using namespace std;
    int main ()
    {
    char ch;
    ch=cin.get();               //或者cin.get(ch);
    cout<<ch<<endl;
    }
    输入:jljkljkl
    输出:j
    用法2:cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格
    #include <iostream>
    using namespace std;
    main ()
    {
    char a[20];
    cin.get(a,20);
    cout<<a<<endl;
    }
    输入:jkl jkl jkl
    输出:jkl jkl jkl
    输入:abcdeabcdeabcdeabcdeabcde (输入25个字符)
    输出:abcdeabcdeabcdeabcd              (接收19个字符+1个'\0')
    用法3:ch=cin.get();
    同cin.get(ch);相同都是输入一个字符。
    说明;可以读入包括空格、跳格和回车在内的空白字符 .
    四:
    cin.getline()   // 接受一个字符串,可以接收空格并输出
    #include <iostream>
    using namespace std;
    main ()
    {
    char m[20];
    cin.getline(m,5);
    cout<<m<<endl;
    }
    输入:jkljkljkl
    输出:jklj
    接受5个字符到m中,其中最后一个为'\0',所以只看到4个字符输出;
    如果把5改成20:
    输入:jkljkljkl
    输出:jkljkljkl
    输入:jklf fjlsjf fjsdklf
    输出:jklf fjlsjf fjsdklf
    //延伸:
    //cin.getline()实际上有三个参数,cin.getline(接受字符串的看哦那间m,接受个数5,结束

    字符)
    //当第三个参数省略时,系统默认为'\0'
    //如果将例子中cin.getline()改为cin.getline(m,5,'a');当输入jlkjkljkl时输出jklj,输入

    jkaljkljkl时,输出jk
    当用在多维数组中的时候,也可以用cin.getline(m[i],20)之类的用法:
    #include<iostream>
    #include<string>
    using namespace std;
    main ()
    {
    char m[3][20];
    for(int i=0;i<3;i++)
    {
    cout<<"\n请输入第"<<i+1<<"个字符串:"<<endl;
    cin.getline(m[i],20);
    }
    cout<<endl;
    for(int j=0;j<3;j++)
    cout<<"输出m["<<j<<"]的值:"<<m[j]<<endl;
    }
    请输入第1个字符串:
    kskr1
    请输入第2个字符串:
    kskr2
    请输入第3个字符串:
    kskr3
    输出m[0]的值:kskr1
    输出m[1]的值:kskr2
    输出m[2]的值:kskr3
    五:
    getline()     // 接受一个字符串,可以接收空格并输出,需包含“#include<string>”
    #include<iostream>
    #include<string>
    using namespace std;
    main ()
    {
    string str;
    getline(cin,str);
    cout<<str<<endl;
    }
    输入:jkljkljkl
    输出:jkljkljkl
    输入:jkl jfksldfj jklsjfl
    输出:jkl jfksldfj jklsjfl
    和cin.getline()类似,但是cin.getline()属于istream流,而getline()属于string流,是不一

    样的两个函数

    转载于:https://www.cnblogs.com/wwwfj/p/3362060.html

    展开全文
  • getchar()putchar() :每次只处理一个字符 缓冲区 无缓冲输入输入字符立即打印 ...用来编译C程序的程序也保存在文件中。 可以使用主机操作系统的基本文件直接处理文件。 底层I/O:直接调用操作系统的函数 .
  • 使用Lex将C/C++文件输出为HTML文件

    千次阅读 2016-01-12 13:59:57
    输入一个C/C++源文件,输出一个HTML文件,语法高亮显示C/C++源文件。 【实验步骤】 1、实验环境配置 安装Parser Generator,并编译lexyacc函数库 使用向导配置,用的VS2010,属性设置如下(有些库是用的...
  • C++和C一样,也使用一种预处理器,该程序在进行主编译之前对源文件进行处理,不必执行任何特殊的操作来调用该预处理,它会在编译程序自动运行。...记住:使用cin和cout进行输入和输出的程序必须包含iostrea
  • VS2010编译C程序

    2013-11-18 17:27:00
    VS2010在经历一些更新后,建立Win32ConsoleProject会出“errorLNK1123”错误,解决方案为将项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单“是”改为“否”即可,但是没新建一个项目都要这样设置一次。...
  • 重定向和文件

    2021-03-21 18:27:43
    第二种方法是,设计能与键盘品目互动的程序,通过不同的渠道重定向输入文件和文件输出。换言之,把stdin 流重新赋给文件。 重定向的一个主要问题是它与操作系统有关,与C无关。 1.重定向输入 重定向输入如...
  • STM32 GPIO的输入输出-HAL库

    千次阅读 2020-09-11 17:30:08
    本文将介绍STM32基于HAL库的GPIO使用,利用上文...该模块代码作用是防止在某一个代码文件中引入多个.h文件时,防止重复引入同一个.h文件,如果重复引入的话,在编译时候汇报“redefine”错误。 "ifndef"全称是"if no
  • 网上众多的开源C/C++代码,因为跨平台的需要,参杂了许多的条件编译语句,对阅读源代码造成了不方便,而且用ctags等工具生成源代码的tags文件时会有些妨碍,本工具就是用来预处理这些条件编译的,将未定义的区域自动...
  • UCC编译驱动分析

    2017-07-27 17:20:24
     UCC编译后,生成一个C语言编译器ucl和编译驱动ucc, ucl执行输入C源文件编译输出预处理文件,而ucc则分析输入参数,根据参数调用  不同的程序eg. gcc, as, ucl对输入文件执行相关的操作并输出结果。作者的...
  • make命令makefile文件

    2017-04-30 23:50:56
    make命令make命令是用于程序编译的工具, 当需要通过多个输入文件来生成输出文件时, 可以利用它来完成。make命令的一些可选参数: -B 无条件编译所有目标 -c dir 读取makefile之前切换到指定的目录dir -f 告诉...
  • Daedalus编译器 这是Daedalus(哥特式I,II脚本语言)编译器的回购。 Project在内部使用ANTL4来解析源代码。... 从输出目录中的Gothic.src文件生成Gothic.dat文件: $ gdc /path/to/Gothic.src 使用自定义运行
  • 源码编译工具openoj.zip

    2019-07-16 07:55:18
    openoj是一个可以对从一个输入流中包括文件,网络流,字符串所代表的源代码进行编译,运行,测试的程序。现在支持对java、c和 c编译和运行以及测试。 openoj是一个用maven构建的,所以可以直接在eclipse中导入...
  • C语言写的,含几个测试文件,可以直接运行,无语法错误,有相应注释 ...当源程序编译正确,PL/0编译程序自动调用解释执行程序,对目标代码进行解释执行,并按用户程序的要求输入数据和输出运行结果。
  • 1.最小得跟文件系统制作   根据busybox源码可知,最小的根文件系统要具备如下条件: 第一.init(来源于busybox,主要是一些命令,如cp,ls等,等编译busybox...第五.C库(r如:标准输入输出,错误等) --根据韦东
  • 1.最小得跟文件系统制作   根据busybox源码可知,最小的根文件系统要具备如下条件: 第一.init(来源于busybox,主要是一些命令,如cp,ls等,等编译busybox...第五.C库(r如:标准输入输出,错误等) --根据韦东
  • C和指针 Pointer on C

    2015-05-08 09:25:32
    第15章 输入/输出函数 15.1 错误报告 15.2 终止执行 15.3 标准I/O函数库 15.4 ANSI I/O概念 15.4.1 流 15.4.2 文件 15.4.3 标准I/O常量 15.5 流I/O总览 15.6 打开流 15.7 关闭流 15.8 字符I/...
  • 1 开发板使用飞凌嵌入式A40...3 按照新版本内核修改core.cpwm-sunxi-new.c文件,其中编译时会提示报错PWMF_EXPORTED这个没有定义,按照新版本内核里include/linux、pwm.h文件内容对应修改 4 再次编译通过后。输入测.
  • c和指针.pdf

    热门讨论 2014-07-02 09:42:31
    第15章 输入/输出函数 15.1 错误报告 15.2 终止执行 15.3 标准I/O函数库 15.4 ANSI I/O概念 15.4.1 流 15.4.2 文件 15.4.3 标准I/O常量 15.5 流I/O总览 15.6 打开流 15.7 关闭流 15.8 字符I/O 15.8.1 ...
  • ① 实验前,先编制好程序,上机时输入并调试程序。 准备好多组测试数据(存放于文件TestData.txt中)。 6、写出实验报告 报告格式:要求有实验名称、实验目的、实验要求、实验内容、实验小结。 其中实验内容包括算法...
  • 4) DFA.in 文件是整个程序的输入文件,在本地机器上调试或测试程序,可以修改 DFA.in 中的内容(用 Editplus 或记事本都可以打开修改),但遵照 DFA.in 的文件格 式. DFA.in 的格式示例如下: 4 2 ----DFA有4个...
  • C和指针 清晰版 PDF

    热门讨论 2011-10-31 18:29:15
     第15章 输入/输出函数   15.1 错误报告   15.2 终止执行   15.3 标准I/O函数库   15.4 ANSI I/O概念   15.4.1 流   15.4.2 文件   15.4.3 标准I/O常量   15.5 流I/O总览   15.6 打开...
  • JAVA6动态编译的问题

    2009-04-15 12:25:48
    在使用JAVA6动态编译时遇到的一个问题,动态编译方法已经写就。通过main方法调用的动态编译时编译通过,并可以使用编译生成的类。但是,在Tomcat下调用同样的方法进行动态编译时编译无法通过。其原因是找不到...
  • CompareCoverage(简称CmpCov )是用于C / C ++程序库的简单检测模块,它提取有关代码在运行进行的数据比较的信息,并将其以标准.sancov文件的形式保存到磁盘中。 它基于clang编译器中可用的工具,该工具本身与...
  • c和指针PDF电子书

    热门讨论 2010-05-06 13:18:58
    第15章 输入/输出函数 297 15.1 错误报告 297 15.2 终止执行 298 15.3 标准I/O函数库 298 15.4 ANSI I/O概念 299 15.4.1 流 299 15.4.2 文件 300 15.4.3 标准I/O常量 300 15.5 流I/O总览 301 15.6 打开流 302 15.7 ...
  • Linux下头文件

    千次阅读 2016-11-04 15:03:49
    今天在敲一个程序用到了VC下的一个conio.h头文件,发现在Linux里面编译不了,找了点...conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 533
精华内容 213
关键字:

编译c文件时输入和输出