易截截图软件、单文件、免安装、纯绿色、仅160KB

读《C和指针》笔记摘要【6】

2010-04-09
第十五章    输入/输出函数
1、错误报告
perror函数     void perror( char const *message);
2、终止执行
void exit( int status );    原型定义于stdlib.h
其中status参数返回给操作系统,用于提示程序是否正常完成,这个值和main函数返回的整型状态值相同,预定义符号EXIT_SUCESS和EXIT_FAILURE分别提示程序的终止是成功还是失败;
3、对C语言而言,所有的I/O操作知识简单地从程序移进或移出字节的事情,毫不惊奇的是,这种字节流便称为流,程序只关心创建正确的输出字节数据,以及正确的解释从输入读取的字节数据,特定I/O设备的细节对程序员是隐藏的;
4、绝大多数是完全缓冲的,这就意味着“读取”和“写入”实际上时从一块称为缓冲区德内存区域来回复制数据;
5、在进行程序调试时,在每个调试的printf函数之后立即调用fflush函数,迫使缓冲区的数据立即写入,不管它是否已满;
例如:printf( "something or other" );
fflush( stdout );
6、文本流
流分为文本流和二进制流两种,文本流的有些特性可能因系统不同而不同;
7、标准C程序运行时至少提供三种流——标准输入,标准输出,标准出错,即:stdin, stdout, stderr;他们都是只想一个FILE结构的指针;
8、标准I/O常量
EOF所选择的实际值比一个字符要多几位,这是为了避免二进制值被错误地解释为EOF;
9、打开流
r, w, 和 a 开头,分别表示打开的流用于读取,写入还是添加;如果以读方式打开,则文件必须存在,而其余的方式文件可存在,可不存在,不存在将创建;
10、如果在mode中添加“a+”这种方式的话,表示该文件打开用于更新,但当你已经从该文件读入了一些数据,如果你要开始向他写入数据时,你必须先调用其中一个文件定位函数(fseek, fsetpos, rewind),在你向文件写入数据后,你又想读的话,那么又要调用fflush或文件定位函数之一;
11、freopen函数用于打开(或重新打开)一个特定的文件流
FILE * freopen( char const *filename, char const *mode, FILE *stream );
12、关闭流
fclose函数,对于输入流,fclose函数在文件关闭之前刷新缓冲区,如果它执行成功,fclose返回零值,否则返回EOF;
13、字符I/O
① int fgetc( FILE *stream );
② int getc( FILE *stream );
③ int getchar( );
这些都用于读取字符,但他们都返回一个


相关文档:

c/c++void及void指针类型

c/c++void及void指针类型
  1.概述许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。
  2.void的含义void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指 ......

C字符串反转算法

一个很简洁的算法:
void Reverse(char s[])
{
    for(int i = 0, j = strlen(s) - 1; i < j; ++i, --j) {
        char c = s[i];
        s[i] = s[j];
        s[j] = c;
 & ......

【转】C代码优化方案


1、选择合适的算法和数据结构
选择一种合适的数据结构很重要,如果在一堆随机存放的数中使用了大量的插入和删除指令,那使用链表要快得多。数组与指针语句具有十分密切的关系,一般来说,指针比较灵活简洁,而数组则比较直观,容易理解。对于大部分的编译器,使用指针比使用数组生成的代码更短,执行效率更高。
在许多 ......

在C和C++中把标准输出重定向到指定文件

C++的实现
#include<fstream>  
#include <iostream>
using namespace std;
int main()
{  
 ofstream logTest("foo.log");    
 streambuf *oldbuf = cout.rdbuf(logTest.rdbuf());   
  
 cout << "输出 ......

C队列 输出杨辉三角


也是中软笔试的算法题,当时并不知道叫杨辉三角,唉。N年不用了,还得再拾起,为了那个梦。
#include <stdio.h>
void main()
{
    int a[50][50];
    int i,j,n;
    printf("Please input Number:");
    scanf("%d",&n);
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号