精华内容
下载资源
问答
  • stdio.h

    千次阅读 2018-08-12 10:21:52
    stdio.h>是编译软件按系统规定的标准方式检索文件目录; "stdio.h"则是先在源程序文件所在文件目录搜索需包含的文件,没找到再按系统规定的标准方式检索文件目录, 可见当所需文件不在源文件所属...

    编译时<stdio.h>是编译软件按系统规定的标准方式检索文件目录

    "stdio.h"则是先在源程序文件所在文件目录搜索需包含的文件,没找到再按系统规定的标准方式检索文件目录

    可见当所需文件不在源文件所属文件夹时后者慢一些

    展开全文
  • C 标准库 -  ...下面是头文件 stdio.h 中定义的变量类型: 序号 变量 & 描述 1 size_t  这是无符号整数类型,它是 sizeof 关键字的结果。 2 FILE  这是一个适合存储文件流信息的对象

    C 标准库 - <stdio.h>

    简介

    stdio .h 头文件定义了三个变量类型、一些宏和各种函数来执行输入和输出。

    库变量

    下面是头文件 stdio.h 中定义的变量类型:

    序号 变量 & 描述
    1 size_t 
    这是无符号整数类型,它是 sizeof 关键字的结果。
    2 FILE 
    这是一个适合存储文件流信息的对象类型。
    3 fpos_t 
    这是一个适合存储文件中任何位置的对象类型。

    库宏

    下面是头文件 stdio.h 中定义的宏:

    序号 宏 & 描述
    1 NULL
    这个宏是一个空指针常量的值。
    2 _IOFBF、_IOLBF 和 _IONBF 
    这些宏扩展了带有特定值的整型常量表达式,并适用于 setvbuf 函数的第三个参数。
    3 BUFSIZ
    这个宏是一个整数,该整数代表了 setbuf 函数使用的缓冲区大小。
    4 EOFM 
    这个宏是一个表示已经到达文件结束的负整数。
    5 FOPEN_MAX 
    这个宏是一个整数,该整数代表了系统可以同时打开的文件数量。
    6 FILENAME_MAX 
    这个宏是一个整数,该整数代表了字符数组可以存储的文件名的最大长度。如果实现没有任何限制,则该值应为推荐的最大值。
    7 L_tmpnam 
    这个宏是一个整数,该整数代表了字符数组可以存储的由 tmpnam 函数创建的临时文件名的最大长度。
    8 SEEK_CUR、SEEK_END 和 SEEK_SET 
    这些宏是在These macros are used in the fseek 函数中使用,用于在一个文件中定位不同的位置。
    9 TMP_MAX 
    这个宏是 tmpnam 函数可生成的独特文件名的最大数量。
    10 stderr、stdin 和 stdout 
    这些宏是指向 FILE 类型的指针,分别对应于标准错误、标准输入和标准输出流。

    库函数

    下面是头文件 stdio.h 中定义的函数:

    为了更好地理解函数,请按照下面的序列学习这些函数,因为第一个函数中创建的文件会在后续的函数中使用到。

    序号 函数 & 描述
    1 int fclose(FILE *stream)
    关闭流 stream。刷新所有的缓冲区。
    2 void clearerr(FILE *stream)
    清除给定流 stream 的文件结束和错误标识符。
    3 int feof(FILE *stream)
    测试给定流 stream 的文件结束标识符。
    4 int ferror(FILE *stream)
    测试给定流 stream 的错误标识符。
    5 int fflush(FILE *stream)
    刷新流 stream 的输出缓冲区。
    6 int fgetpos(FILE *stream, fpos_t *pos)
    获取流 stream 的当前文件位置,并把它写入到 pos。
    7 FILE *fopen(const char *filename, const char *mode)
    使用给定的模式 mode 打开 filename 所指向的文件。
    8 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
    从给定流 stream 读取数据到 ptr 所指向的数组中。
    9 FILE *freopen(const char *filename, const char *mode, FILE *stream)
    把一个新的文件名 filename 与给定的打开的流 stream 关联,同时关闭流中的旧文件。
    10 int fseek(FILE *stream, long int offset, int whence)
    设置流 stream 的文件位置为给定的偏移 offset,参数 offset 意味着从给定的 whence 位置查找的字节数。
    11 int fsetpos(FILE *stream, const fpos_t *pos)
    设置给定流 stream 的文件位置为给定的位置。参数 pos 是由函数 fgetpos 给定的位置。
    12 long int ftell(FILE *stream)
    返回给定流 stream 的当前文件位置。
    13 size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
    把 ptr 所指向的数组中的数据写入到给定流 stream 中。
    14 int remove(const char *filename)
    删除给定的文件名 filename,以便它不再被访问。
    15 int rename(const char *old_filename, const char *new_filename)
    把 old_filename 所指向的文件名改为 new_filename。
    16 void rewind(FILE *stream)
    设置文件位置为给定流 stream 的文件的开头。
    17 void setbuf(FILE *stream, char *buffer)
    定义流 stream 应如何缓冲。
    18 int setvbuf(FILE *stream, char *buffer, int mode, size_t size)
    另一个定义流 stream 应如何缓冲的函数。
    19 FILE *tmpfile(void)
    以二进制更新模式(wb+)创建临时文件。
    20 char *tmpnam(char *str)
    生成并返回一个有效的临时文件名,该文件名之前是不存在的。
    21 int fprintf(FILE *stream, const char *format, ...)
    发送格式化输出到流 stream 中。
    22 int printf(const char *format, ...)
    发送格式化输出到标准输出 stdout。
    23 int sprintf(char *str, const char *format, ...)
    发送格式化输出到字符串。
    24 int vfprintf(FILE *stream, const char *format, va_list arg)
    使用参数列表发送格式化输出到流 stream 中。
    25 int vprintf(const char *format, va_list arg)
    使用参数列表发送格式化输出到标准输出 stdout。
    26 int vsprintf(char *str, const char *format, va_list arg)
    使用参数列表发送格式化输出到字符串。
    27 int fscanf(FILE *stream, const char *format, ...)
    从流 stream 读取格式化输入。
    28 int scanf(const char *format, ...)
    从标准输入 stdin 读取格式化输入。
    29 int sscanf(const char *str, const char *format, ...)
    从字符串读取格式化输入。
    30 int fgetc(FILE *stream)
    从指定的流 stream 获取下一个字符(一个无符号字符),并把位置标识符往前移动。
    31 char *fgets(char *str, int n, FILE *stream)
    从指定的流 stream 读取一行,并把它存储在 str 所指向的字符串内。当读取 (n-1) 个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。
    32 int fputc(int char, FILE *stream)
    把参数 char 指定的字符(一个无符号字符)写入到指定的流 stream 中,并把位置标识符往前移动。
    33 int fputs(const char *str, FILE *stream)
    把字符串写入到指定的流 stream 中,但不包括空字符。
    34 int getc(FILE *stream)
    从指定的流 stream 获取下一个字符(一个无符号字符),并把位置标识符往前移动。
    35 int getchar(void)
    从标准输入 stdin 获取一个字符(一个无符号字符)。
    36 char *gets(char *str)
    从标准输入 stdin 读取一行,并把它存储在 str 所指向的字符串中。当读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。
    37 int putc(int char, FILE *stream)
    把参数 char 指定的字符(一个无符号字符)写入到指定的流 stream 中,并把位置标识符往前移动。
    38 int putchar(int char)
    把参数 char 指定的字符(一个无符号字符)写入到标准输出 stdout 中。
    39 int puts(const char *str)
    把一个字符串写入到标准输出 stdout,直到空字符,但不包括空字符。换行符会被追加到输出中。
    40 int ungetc(int char, FILE *stream)
    把字符 char(一个无符号字符)推入到指定的流 stream 中,以便它是下一个被读取到的字符。
    41 void perror(const char *str)
    把一个描述性错误消息输出到标准错误 stderr。首先输出字符串 str,后跟一个冒号,然后是一个空格。

    C 标准库 - <stdlib.h>

    简介

    stdlib .h 头文件定义了四个变量类型、一些宏和各种通用工具函数。

    库变量

    下面是头文件 stdlib.h 中定义的变量类型:

    序号 变量 & 描述
    1 size_t 
    这是无符号整数类型,它是 sizeof 关键字的结果。
    2 wchar_t 
    这是一个宽字符常量大小的整数类型。
    3 div_t 
    这是 div 函数返回的结构。
    4 ldiv_t 
    这是 ldiv 函数返回的结构。

    库宏

    下面是头文件 stdlib.h 中定义的宏:

    序号 宏 & 描述
    1 NULL
    这个宏是一个空指针常量的值。
    2 EXIT_FAILURE
    这是 exit 函数失败时要返回的值。
    3 EXIT_SUCCESS
    这是 exit 函数成功时要返回的值。
    4 RAND_MAX 
    这个宏是 rand 函数返回的最大值。
    5 MB_CUR_MAX 
    这个宏表示在多字节字符集中的最大字符数,不能大于 MB_LEN_MAX。

    库函数

    下面是头文件 stdlib.h 中定义的函数:

    序号 函数 & 描述
    1 double atof(const char *str)
    把参数 str 所指向的字符串转换为一个浮点数(类型为 double 型)。
    2 int atoi(const char *str)
    把参数 str 所指向的字符串转换为一个整数(类型为 int 型)。
    3 long int atol(const char *str)
    把参数 str 所指向的字符串转换为一个长整数(类型为 long int 型)。
    4 double strtod(const char *str, char **endptr)
    把参数 str 所指向的字符串转换为一个浮点数(类型为 double 型)。
    5 long int strtol(const char *str, char **endptr, int base)
    把参数 str 所指向的字符串转换为一个长整数(类型为 long int 型)。
    6 unsigned long int strtoul(const char *str, char **endptr, int base)
    把参数 str 所指向的字符串转换为一个无符号长整数(类型为 unsigned long int 型)。
    7 void *calloc(size_t nitems, size_t size)
    分配所需的内存空间,并返回一个指向它的指针。
    8 void free(void *ptr)
    释放之前调用 calloc、malloc 或 realloc 所分配的内存空间。
    9 void *malloc(size_t size)
    分配所需的内存空间,并返回一个指向它的指针。
    10 void *realloc(void *ptr, size_t size)
    尝试重新调整之前调用 malloc 或 calloc 所分配的 ptr 所指向的内存块的大小。
    11 void abort(void)
    使一个异常程序终止。
    12 int atexit(void (*func)(void))
    当程序正常终止时,调用指定的函数 func
    13 void exit(int status)
    使程序正常终止。
    14 char *getenv(const char *name)
    搜索 name 所指向的环境字符串,并返回相关的值给字符串。
    15 int system(const char *string)
    由 string 指定的命令传给要被命令处理器执行的主机环境。
    16 void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *))
    执行二分查找。
    17 void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))
    数组排序。
    18 int abs(int x)
    返回 x 的绝对值。
    19 div_t div(int numer, int denom)
    分子除以分母。
    20 long int labs(long int x)
    返回 x 的绝对值。
    21 ldiv_t ldiv(long int numer, long int denom)
    分子除以分母。
    22 int rand(void)
    返回一个范围在 0 到 RAND_MAX 之间的伪随机数。
    23 void srand(unsigned int seed)
    该函数播种由函数 rand 使用的随机数发生器。
    24 int mblen(const char *str, size_t n)
    返回参数 str 所指向的多字节字符的长度。
    25 size_t mbstowcs(schar_t *pwcs, const char *str, size_t n)
    把参数 str 所指向的多字节字符的字符串转换为参数 pwcs 所指向的数组。
    26 int mbtowc(whcar_t *pwc, const char *str, size_t n)
    检查参数 str 所指向的多字节字符。
    27 size_t wcstombs(char *str, const wchar_t *pwcs, size_t n)
    把数组 pwcs 中存储的编码转换为多字节字符,并把它们存储在字符串 str 中。
    28 int wctomb(char *str, wchar_t wchar)
    检查对应于参数 wchar 所给出的多字节字符的编码。



    stdbool.h
    bool 是C++中的关键字,C中不支持
    所以C99标准中引入了头文件 stdbool.h,包含了四个用于布尔型的预定义宏
    #define true 1
    #define false 0
    #define bool _Bool
    typdef int _Bool

    展开全文
  • 错误 9 error C2059: 语法错误:“)” c:\program files\microsoft visual studio 10.0\vc\include\stdio.h 245 1 fineError 错误 19 error C2059: 语法错误:“)” c:\program files\microsoft visual studio 10.0\...
  • #include<stdio.h> 或 #include"stdio.h" 用#include<stdio.h>形式时,编译系统从存放C编译系统的子目录中去找所包含的文件stdio.h,这称为标准方式。 用#include"stdio.h"形式时,编...

    (参考:https://www.jb51.net/article/124594.htm

         #include<stdio.h> 或 #include"stdio.h"

         用#include<stdio.h>形式时,编译系统从存放C编译系统的子目录中去找所包含的文件stdio.h,这称为标准方式。

         用#include"stdio.h"形式时,编译系统先在用户的当前目录(用户存放源程序文件的子目录)中寻找stdio.h,若找不到,再按标准方式查找。如果该头文件不在当前目录,可加入路径如(#include "C:\temp\file1.h")。

     

    不完全统计,C语言标准库中的头文件有15个之多,所以我主要介绍常用的这四个头文件stdio.h ,string.h ,math.h ,stdlib.h ,以后用到其他的再做补充。下面上干货:

    1.<stdio.h>:定义了(standard input & output的缩写)输入输出函数、类型以及宏,函数几乎占了标准库的1/3。

    (1)文件访问。

    1

    FILE *fopen(“filename”,“mode”):

    以mode模式打开地址为'filename'的文件,并返回文件指针。

    访问模式主要是“r”:只读;   “w” :只写,并删除已有内容;  “a”:追加,在末尾追加;

     “r+”, “w+”:读写; “a+”追加,上述结尾加“b”:二进制文件操作。

    注意:其中r是打开文件,而w会创建(如果文件不存在);  w会覆盖原有内容,a则是在原有文件末尾追加。

    FILE *fp ;                    / 定义一个指向文件的指针变量fp
    fp = fopen("a1","r");         / 将fopen函数的返回值(a1文件信息区的起始地址)赋给指针变量fp
    表示要打开名字为“a1”的文件,使用文件方式为"r"读入。

    2

    int fcloseFILE *f):

    fclose(文件指针); 释放缓冲区数据,关闭流。如:fclose(fp); 前面曾把打开文件(用fopen函数)时函数返回的指针赋给了fp,现在把fp指向的文件关闭,此后fp不再指向该文件。当成功执行操作,则返回值为0,否则返回EOF(-1)。

    下面两个没太用过:

    1

    FILE *freopen(“filename”,“mode”,FILE * f):

    以mode模式打开地址为'filename'的文件,并将该文件与流f2关联。

    1

    int fflushFILE *f):

    将已写到缓冲区但未写入文件中的所有数据写入文件中。

    (2)二进制输入/输出

    1

    fread(*ptr,size,n,FILE* f):

    从f中读取n个长度为size的对象,并放入ptr指向的数组中。

    1

    fwrite(*ptr,size,n,FILE* f):

    从ptr指向数组中读取n个长度为size的对象,并写入f中。

    注意:要注意write与read的对象,读和写都是针对文件流f的。

    (3)非格式化输入/输出

    1

    int fgetc/getcFILE *f):

    返回流f 的下一个字符,到达文件末尾/发生错误,则返回EOF。

    1

    int fputc/putcint c, FILE *f)

    将字符c输入到流f中。

    1

    int fgetschar * s,int n,FILE *f):

    将f中下n-1个字符读入到数组s中。遇到换行符,则终止。

    1

    int fputsconst char * s,FILE *f):

    将字符串s输出到流中。

    1

    int ungetint c, FILE *f)

    将c写回到f中。

    (4)格式化输入/输出

    按一定格式转输出。

    1

    2

    scanf/fscanf/sscanf

    printf/fprintf/sprintf

    注意:1,不加f/s,则是格式字符串标准输入/出函数,输入/出到终端/屏幕;

              printf(格式控制,输出形式);     例:printf( "%d , %c\n" , i , c);

                                                                       printf(const char *format,...)

    2,加s,输入/出到字符串中。sprintf(char *s,const char *format,...),

    3,加f,输入/出到文件流中。  fprintf(FILE *f,const char *format,...)

              scanf(格式控制,地址表列);     例:scanf("a=%f,b=%f,c=%f" ,&a, &b ,&c);

              putchar (c);  输出一个字符

               getchar ( );  输入一个字符

    (5)文件定位

    1

    long ftellFILE *f):

    返回当前指针位置。错误时返回-1L。

    1

    int fseekFILE *f,long offset,int origin):

    将当前流f指针位置设置到:origin后offset个字符处。origin有:SEEK_SET:文件起始位置;SEEK_CUR指针当前位置,SEEK_END:文件结束位置。

    1

    void rewindFILE *f)

    指针返回文件开始位置,相当于:fseek(f,0L,SEEK_SET)

    不常用:

    1

    int fgetposFILE *f,*p)

    将指针当前位置记录到*p中,以供fsetpos函数使用。

    1

    int fsetposFILE *f,const *p)

    指针位置指向*p。

    (6)错误处理与文件操作

    1

    int feofFILE *f)

    指示文件结束,一直返回0,结束时返回非0值。

    1

    int ferrorFILE *f)

    如果设置了与f相关的错误指示符,则返回一个非0值。

    1

    int removechar *filename)

    删除指定位置的文件。

    1

    int renameconst char *oldname,const char *newname)

    改文件名,否则返回非0值。

    1

    FILE *tmpfilevoid

    建立临时文件,‘wb+'模式,在被关闭或程序正常结束时自动删除

     

    2. <string.h> 分成两组,一组str开头,一组mem开头(该组函数在<memory.h>中也有定义,不是所有编译器都有)

    (1)str

          puts(字符数据);       输出字符串函数

           例:char str[]="china";    puts(str);

           gets(字符数组);     输入字符串函数

            例:gets(str);

    1

    char * strcpy (char *dest, const char *src); //字符串复制函数,把字符串2和后面的'\0'复制到字符数组1中。

    例:char str1[10],str2[]="china";    strcpy(str1,str2); 注:str1必须够大,以便能放下str2

    将字符串src复制到字符串dest中(包括'\0'),返回dest

    1

    char * strncpy (char *dest, const char *src,n); //字符串复制函数,将字符串2中前面的n个字符复制到字符数组1中,n必须少于str1的字符,不包括('\0')。

    例:char str1[10],str2[]="china"; strncpy(str1, str2, 2)  输出结果为str1="ch"

    将src中的前n个字符复制到dest中,返回dest,不够n个则补‘\0'

    char * strcat (char *dest, const char *src);   //字符串连接函数,把字符串2连接到字符串1的后面,结果放到字符数组1中。

     例:char str1[10]="good "; char str2[]="boy";  strcat(str1,str2); 注:str1必须够大,以便能放下str2。

     

    char * strncat (char *dest, const char *src,n);

    src连接到dest后;src 中前n个字符连接到dest后。

    int  strcmp (const char *s1, const char *s2);  //字符串比较函数,比较字符串1和字符串2,将2个字符串自左至右逐个字符比较(按ASCII码值大小比较),直到出现不同的字符或遇到'\0'为止。

    例:char str1[]="china "; char str2[]="korea"; strcmp(str1,str2); k比c大,所以函数值为负。

      如果str1=str2,则函数值为0; 如果str1>str2,则函数值为正; 如果str1<str2,则函数值为负。 如: if(strcmp(str1,str2)=0)

     

    int  strncmp (const char *s1, const char *s2,n); //字符串比较函数 比较s1与s2,s1<s2则返回负数,否则返回0;比较前n个字符

     

    char * strchr (const char *s, int c);

     

    char * strrchr (const char *s, int c); 返回字符串s中第一次出现字符c的位置指针;返回字符串s中最后一次出现字符c的位置指针(c会转换成char

          strlen(字符数组);    //测字符串长度的函数,字符串实际长度(不包括'\0')

           例:char str[10]="china";  printf("%d",strlenn(str)) ; 输出的结果不是10也不是6,而是5

           strlwr(字符串);      //转换为 小写 的函数,将字符串中的大写字母转换为小写字母

            strupr(字符串);  //转换为 大写 的函数,将字符串的小写字母转换为大写字母

    不常见 size_t   strcspn (const char *s1, const char *s2); char * strdup (const char *s); char * strerror(int errnum);

    (2)mem

    1

    void *memcpyvoid *s, const void *ct,n)

    将字符串ct中的前n个字符拷贝到s中,并返回s。

    1

    2

    void *memmove(s,ct,n)同上一函数,只是在对象重叠时仍能正确执行。

    void *memsetvoid *s,int c, n)

    void *memset(void *s, int c, size_t n);

    函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 c 替换并返回 s 。

    memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体数组进行清零操作的一种最快方法 [1]。

    memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组,c:是赋给buffer的值,count:是buffer的长度

    将s中的前n个字符替换成c,并返回s。

    1

    int memcmp(cs,ct,n)

    将cs前n个字符与ct进行比较,cs<ct,返回负数;否则返回0

    1

    void *memchr(cs,c,n)

    返回指向c在cs中第一次出现的位置指针。

     

    3.<math.h>一些数学函数

    求绝对值

    1

    2

    3

    int abs  (int x);

    long labs (long x);

    float fabs float x):

    所有返回值均为double,三角函数角度用弧度表示,x,y均为double

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    double acos (x);

    double asin (x);

    double atan (x);

    double atan2 (y, x):  arctan(y/x)

    double tan  (x);

    double tanh (x):    双曲正切

    double sin  (x);

    double sinh (x);

    double cos  (x);

    double cosh (x);

    double pow  (x, y);//注意返回值类型为双精度型

    double sqrt (x);

    double ceil (x):   不小于x的最小整型数(向上取整)

    double floor (x):  不大于x的最大整型数(向下取整)

    double exp  (x);

    double fabs (x);

    double log  (x):  ln(x)

    double log10 (x);

    double fmod (x, y):    x/y的余数

    double ldexp (x, n):         x*2^n

    double modf (x, double *ip):   将x分成整数与小数两部分,返回小数部分,整数部分放在*ip中

    double frexp (x, int *exp);    将x分成(0.5,1)之间的一个真分数和一个2的幂数,返回真分数,幂数放在exp

     

    4.<stdlib.h>数值转换、内存分配等问题。

    1

    int randvoid

    产生一个0~32767之间的随机整数。

     

    void *malloc(unsigned int size);

        作用是在内存的动态存储区中分配一个长度为size(不允许为负数)的连续空间。此函数的值(即“返回值”)是分配区域的第一个字节的地址,或者说,此函数是一个指针型函数,不指向任何类型的数据,只提供一个地址,返回的指针指向该分配域的开头位置,如内存空间不足则返回空指针NULL。如: 

            malloc(100);   //开辟100字节的心事分配域,函数值为其第一个字节的地址

    void *calloc(unsiggned n,unsigned size);

        作用是在内存的动态存储区分配n个长度为size的连续空间,这个空间一般比较大,足以保存一个数组,可以为一维数组开辟动态存储空间,n为数组元素个数,每个元素长度为size,这是动态数组。函数返回指向所分配域的起始位置的指针,如果分配不成功则返回NULL。如:

           p=calloc(50,4); //开辟50x4个字节的临时分匹配域,把起始地址赋给指针变量p

    void free(void *p);

        作用是释放指针变量p所指向的动态空间(p为malloc,realloc,calloc最近一次所开辟的内存),使这部分空间能重新被其他变量使用。如;

            free(p);  //释放指针变量p所指向的已分配的动态空间   free函数无返回值

    void *realloc(void *p,uunsigned int size);

        如果已经通过malloc或calloc函数获得了动态空间,想改变其大小,可以用realloc函数重新分配,用realloc函数将p所指向的动态空间的大小改为size,如果重分配不成功,则返回NULL。如:

            realloc(p,50);  //将p所指向的已分配的动态空间改为50字节

     

    1

    void abortvoid

    使程序非正常终止。

    1

    void exitint status)

    使程序正常终止。

     

     

    展开全文
  •  stdio.h就是指“standard input&output"意思就是说标准输入输出头文件!所以用到标准输入输出函数时,就要调用这个头文件!  调用:#include 或#include"stdio.h"  #include编译程序会先到标准函数库中找文件 ...

      include 称为文件包含命令,其意义是把尖括号""或引号<>内指定的文件包含到本程序中,成为本程序的一部分。被包含的文件通常是由系统提供的,其扩展名为.h 

           stdio.h就是指“standard input&output"意思就是说标准输入输出头文件!所以用到标准输入输出函数时,就要调用这个头文件!

      调用:#include 或#include"stdio.h"

      #include< file >编译程序会先到标准函数库中找文件

      #include”file” 编译程序会先从当前目录中找文件

      在C程序中包含文件有以下两种方法:

      (1)用符号“<”和“>”将要包含的文件的文件名括起来。这种方法指示预处理程序到预定义的缺省路径下寻找文件。预定义的缺省路径通常是在INCLUDE环境变量中指定的,请看下例:

      INCLUDE=C:\COMPILER\INCLUDE;S:\SOURCE\HEADERS;

      对于上述INCLUDE环境变量,如果用#include语句包含文件,编译程序将首先到C:\COMPILER\INCLUDE目录下寻找文件;如果未找到,则到S:\SOURCE\HEADERS目录下继续寻找;如果还未找到,则到当前目录下继续寻找。

      (2)用双引号将要包含的文件的文件名括起来。这种方法指示预处理程序先到当前目录下寻找文件,再到预定义的缺省路径下寻找文件。

      对于上例中的INCLUDE环境变量,如果用#include“file”语句包含文件,编译程序将首先到当前目录下寻找文件;如果未找到,则到C:\COMPILER\INCLUDE目录下继续寻找;如果还未找到,则到S:\SOURCE\HEADERS目录下继续寻找。

      #include语句一般用来包含标准头文件(例如stdio.h或stdlib.h),因为这些头文件极少被修改,并且它们总是存放在编译程序的标准包含文件目录下。#include“file”语句一般用来包含非标准头文件,因为这些头文件一般存放在当前目录下,你可以经常修改它们,并且要求编译程序总是使用这些头文件的最新版本。

    展开全文
  • #include "stdio.h " 当要调用某个函数时 先在用户自已编写的文件中查找,如果找不到再到库文件里去找, 而#include 是直接到库文件里去找 所以如果是调用自己写的函数的话就用#include "stdio.h ",这种...
  • stdio.h" 当要调用某个函数时 先在用户自已编写的文件中查找,如果找不到再到库文件里去找, 而#include &lt;stdio.h&gt; 是直接到库文件里去找 所以如果是调用自己写的函数的话就用#...
  • 在VS2017中运行解决方案是有错误:“E1696 无法打开 源 文件 “stdio.h” ”… 原因: 这种问题一般发生在该项目代码是在网上下载而来的情况,或者电脑重装新的系统等情况,导致电脑系统与该项目生成时所采用...
  • 1.问题描述: ...“无法找到源文件stdio.h” “无法找到源文件tchar.h” 报错代码如下所示: 2. 问题产生原因: 是由于在安装VS的过程中,少选了“用于桌面 C++ [x86 和 x64]的 Windows 10 SDK...
  • stdio.h&stdlib.h&string.h

    千次阅读 2012-05-07 14:02:23
    stdio.h&stdlib.h&string.h   (2011-12-02 13:15:07) 转载▼ 标签:  杂谈   stdio.h中的标准输入输出函数  int getchar() //从标准输入设备读入一个字符,显示  int...
  • iostream和iostream.h和stdio.h的区别#include #include <iostream.h>非标准输入输出流 在早期的vs版本,比如VC6.0,用的还是老版本的C++标准库,例如iostream.h,并且当时标准库也没有引入名字空间。因此直接...
  • stdio.h头文件使用

    千次阅读 多人点赞 2018-07-19 22:54:25
    stdio.h&gt;中 stdio.h是stand input &amp; output的缩写,意思是标准输入输出头文件。凡是用到标准输入输出函数,就要调用该头文件。 查看stdio.h目录下包含哪些函数:主要有文件访问、二进制输入/输出、...
  • 关于 stdio.h 和 stdlib.h 包含的函数

    千次阅读 多人点赞 2018-08-09 07:32:45
    stdio.h 文件访问 fopen freopen fflush fclose 二进制输入/输出 fread fwrite 非格式化输入/输出 fgetc/getc fputc/putc ungetc fgets fputs 格式化输入/输出 scanf/fscanf/sscanf ...
  • stdio.h头文件

    热门讨论 2010-04-07 20:43:25
    关于stdio.h头文件的介绍,sssssss ssssss s
  • cstdio和stdio.h的区别

    千次阅读 2018-04-25 11:12:56
    cstdio是将stdio.h的内容用C++头文件的形式表示出来。stdio.h是C标准函数库中的头文件,即:standard buffered input&amp;output。提供基本的文字的输入输出流操作(包括屏幕和文件等)。由于C语言并没有提供专...
  • include“stdio.h”和<stdio.h>的区别

    千次阅读 2017-09-13 15:48:46
    编译器优先从标准路径开始搜索需要引入的文件,用双引号,优先从用户工作路径搜索文件。 这个所谓的标准路径是什么? 这个标准路径指的是从自己带的c或者c++里面的库。在编译的时候就可以直接链接到库里了;...
  • 看别人写好的程序,直接打开工程,编译。 编译错误:无法打开string.h、stdio.h等源文件。 解决方法: 项目–>属性–>常规–>平台工具集 我改成了v100解决了问题。
  • stdlib.h stdio.h unistd.h相关文件的说明

    千次阅读 2011-12-11 14:42:47
    stdio.h 头文件的说明: http://baike.baidu.com/view/538727.htm stdlib.h 头文件的说明:http://blog.sina.com.cn/s/blog_706d9cef0100wkim.html unistd.h 头文件的说明:...
  • C 标准库 –stdio.h 简介

    千次阅读 2018-10-18 11:43:25
    stdio.h&gt; 简介 stdio .h 头文件定义了三个变量类型、一些宏和各种函数来执行输入和输出。 1 库变量 下面是头文件 stdio.h 中定义的变量类型: 序号 变量 描述 1 size_t 这是无符号整数类型,它是 si....
  • stdio.h文件下载

    热门讨论 2009-04-25 13:31:02
    库函数stdio.h文件下载~………………
  • VS2015找不到stdio.h或new.h的Bug修复

    千次阅读 2019-07-09 16:24:53
    无论是建立Console控制台程序还是MFC程序,都提示缺少"stdio.h"或"new.h"头文件。VS工程默认的包含路径C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include下的确没有这些头文件,那么应该怎么办呢,...
  • 1.问题描述: Visual Studio 2017安装完成之后,在源码中提示: “无法找到源文件windows.h” “无法找到源文件stdio.h” “无法找到源文件tchar.h” 报错代码如下所示: 2. 问题产生原因: 是由于在安装vs...
  • C++篇:csdio VS stdio.h

    2018-10-19 17:09:32
    cstdio是将stdio.h的内容用C++头文件的形式表示出来。 标准C头文件如&lt;stdio.h&gt;继续被C++支持,C++添加了具有C库功能的新C++头文件具有如&lt;cstdio&gt;这样的名字。它们提供的内容和相应的旧C...
  • 头文件stdio.h的意义

    2019-07-17 14:56:50
    尖括号表示从文件夹里面查找,而双引号表示是自己自定义的,例如里面的文件stdio.h就是从tmp这个文件夹里面查找的,而myhead.h是自己自定义的。
  • iostream.h 和stdio.h区别

    千次阅读 2013-08-14 17:44:13
    stdio.h是C的标准I/O库,是以函数的方式向buffer写入或读取字符。输入输出是这样的printf(...);,scanf(...); iostream是C++的标准I/O库,引入了输入/输出流的概念,是一个类库,是以类方法从streambuf中读取,...
  • c语言编程 开头的#include <stdio.h>是什么意思?

    千次阅读 多人点赞 2020-11-25 08:55:22
    #是预处理指令 include 是“包含”的意思 #include " XX" 或者 #include ,意思是将"XX"或者中的...是包含 stdio.h 头文件的意思, .h是头文件的扩展名(header file),stdio.h就是standard input output.header,也
  • #include<stdio.h>,显示无法打开源文件stdio.h,我试了一下ctype.h也不行
  • 第一次安装好就出现了图片中这个错误。为此搜索了好久,以为是安装问题,卸载重装好几次……30G的东西,真不是闹着玩的...SDKDDKVer.h和stdio.h等正是位于这两个文件中。 默认不安装,如图: 由于自己被这个坑了很久
  • 浅谈stdio.h及cstdio的区别

    万次阅读 2018-12-10 20:30:33
    在C语言中,stdio.h 头文件是主要的。而在后来的C++语言中,C只是C++的一个子集,且C++中,已不推荐再用C的类库,但为了对已有代码的保护,还是对原来的头文件支持。 cstdio是c++从C的stdio.h继承来的,在前面加C...
  • stdlib.h 1. stdlib.h  stdlib 头文件即standard library标准库头文件 stdlib 头文件里包含了C、C++语言的最常用的系统函数 该文件包含了C语言标准库函数的定义 stdlib.h里面定义了五种类型、一些宏...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 292,114
精华内容 116,845
关键字:

stdio.h