Ⅰ c语言常用库函数有哪些
C语言的标准库函数有数百个,分布在不同的库文件中,目前绝大多数系统和程序肯定兼容的是C99标准,但2011年已经发布了更新的版本,有些遗留系统不一定支持最新的特性。
不同函数应用场合不一样,说不说哪些更常用,就看你所做工作的性质了。
通常来说,至少在基础编程时,stdio中的输入输出(可能是控制台的、也可能是文件的)、stdlib中的各种通用工具(如分配堆内存)、string中的字符串处理、time中的日期时间处理、math中的数学函数都算是比较常用的。
Ⅱ 在C中,什么是标准库函数
在C语言程序设计里,C 标准函数库(C Standard library) 是所有符合标准的头文件(head file)的集合,以及常用的函数库实现程序,例如I/O 输入输出和字符串控制。不像COBOL、Fortran和PL/I等编程语言,在 C 语言的工作任务里不会包含嵌入的关键字,所以几乎所有的 C 语言程序都是由标准函数库的函数来创建的。
每一个函数的名称与特性会被写成一个电脑文件,这个文件就称为头文件,但是实际的函数实现是被分存到函数库文件里。头文件的命名和领域是很常见的,但是函数库的组织架构也会因为不同的编译器而有所不同。标准函数库通常会随附在编译器上。因为 C 编译器常会提供一些额外的非ANSI C函数功能,所以某个随附在特定编译器上的标准函数库,对其他不同的编译器来说,是不兼容的。
Ⅲ C语言标准库函数fread(fd,buffer,n)的功能是( ).
size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) ;
fread是一个函数。从一个文件流中读数据,最多读取count个元素,每个元素size字节,如果调用成功返回实际读取到的元素个数,如果不成功或读到文件末尾返回 0。
你这个应该有点问题呀!
Ⅳ 如何看c语言标准库函数的源代码
1、首先标准只是规定了这些函数的接口和具体的运行效率的要求,这些函数具体是怎么写得要看各个编译器的实现和平台。
2、例如使用的编译器是visual studio,微软提供了一部分C运行时(CRT)的源码,里面会有memcpy,strcpy之类的函数的实现,在visual studio 2005下的路径是C:Program FilesMicrosoft Visual Studio 8VCcrtsrc。
Ⅳ c语言标准函数库的stdlib.h
EXIT_FAILURE
Value for status argument to exit indicating failure.
EXIT_SUCCESS
Value for status argument to exit indicating success.
RAND_MAX
Maximum value returned by rand().
NULL
Null pointer constant.
div_t
Return type of div(). Structure having members:
int quot;
quotient
int rem;
remainder
ldiv_t
Return type ofldiv(). Structure having members:
long quot;
quotient
long rem;
remainder
size_t
Type for objects declared to store result of sizeof operator.
int abs(int n);
long labs(long n);
Returns absolute value of n.
div_t div(int num, int denom);
ldiv_t ldiv(long num, long denom);
Returns quotient and remainder of num/denom.
double atof(const char* s);
Equivalent to strtod(s, (char**)NULL) except that errno is not necessarily set on conversion error.
int atoi(const char* s);
Equivalent to (int)strtol(s, (char**)NULL, 10) except that errno is not necessarily set on conversion error.
long atol(const char* s);
Equivalent to strtol(s, (char**)NULL, 10) except that errno is not necessarily set on conversion error.
double strtod(const char* s, char** endp);
Converts initial characters (ignoring leading white space) of s to type double. If endp non-null, stores pointer to unconverted suffix in *endp. On overflow, sets errno to ERANGE and returns HUGE_VAL with the appropriate sign; on underflow, sets errno to ERANGE and returns zero; otherwise returns converted value.
long strtol(const char* s, char** endp, int base);
Converts initial characters (ignoring leading white space) of s to type long. If endp non-nu ll, stores pointer to unconverted suffix in *endp. If base between 2 and 36, that base used for conversion; if zero, leading (after any sign) 0X or 0x implies hexadecimal, leading 0 (after any sign) implies octal, otherwise decimal assumed. Leading 0X or 0x permitted for base hexadecimal. On overflow, sets errno to ERANGE and returns LONG_MAX or LONG_MIN (as appropriate for sign); otherwise returns converted value.
unsigned long strtoul(const char* s, char** endp, int base);
As for strtol except result is unsigned long and value on overflow is ULONG_MAX.
void* calloc(size_tnobj, size_t size);
Returns pointer to zero-initialised newly-allocated space for an array of nobj objects each of size size, or NULL on error.
void* malloc(size_tsize);
Returns pointer to uninitialised newly-allocated space for an object of size size, or NULL on error.
void* realloc(void* p,size_tsize);
Returns pointer to newly-allocated space for an object of size size, initialised, to minimum of old and new sizes, to existing contents of p (if non-null), or NULL on error. On success, old object deallocated, otherwise unchanged.
void free(void* p);
If p non-null, deallocates space to which it points.
void abort();
Terminates program abnormally, by calling raise(SIGABRT).
void exit(int status);
Terminates program normally. Functions installed using atexit are called (in reverse order to that in which installed), open files are flushed, open streams are closed and control is returned to environment. status is returned to environment in implementation-dependent manner. Zero or EXIT_SUCCESS indicates successful termination and EXIT_FAILURE indicates unsuccessful termination. Implementations may define other values.
int atexit(void (*fcm)(void));
Registers fcn to be called when program terminates normally (or when main returns). Returns non-zero on failure.
int system(const char* s);
If s is not NULL, passes s to environment for execution, and returns status reported by command processor; if s is NULL, non-zero returned if environment has a command processor.
char* getenv(const char* name);
Returns string associated with name name from implementation's environment, or NULL if no such string exists.
void*bsearch(const void* key, const void* base,size_tn, size_t size, int (*cmp)(const void* keyval, const void* datum));
Searches ordered array base (of n objects each of size size) for item matching key according to comparison function cmp. cmp must return negative value if first argument is less than second, zero if equal and positive if greater. Items of base are assumed to be in ascending order (according to cmp). Returns a pointer to an item matching key, or NULL if none found.
void qsort(void* base,size_tn, size_t size, int (*cmp)(const void*, const void*));
Arranges into ascending order array base (of n objects each of size size) according to comparison function cmp. cmp must return negative value if first argument is less than second, zero if equal and positive if greater.
int rand(void);
Returns pseudo-random number in range 0 to RAND_MAX.
void srand(unsigned int seed);
Uses seed as seed for new sequence of pseudo-random numbers. Initial seed is 1.
Ⅵ C语言标准库和C++标准库有什么不同
二者区别主要定义为功能性的不同,c语言库用于开发系统为主,C++的高级特新对于开发大型项目有辅,所以你得根据实际情况去分析使用库,你也可以搭建自己的库
Ⅶ 在哪里可以找到C语言标准库的实现源代码
Linux下的glic库的源码链接:
http://ftp.gnu.org/gnu/glibc/,你可以下载最新版本的glibc-2.24.tar.gz这个压缩文件,在Windows系统下直接用WinRAR解压即可,如果在Linux系统下用命令行解压的话,命令如下:tar -xzvf glibc-2.24.tar.gz。
Ⅷ 精通c语言需要把所有标准库函数都学会吗
当然不需要. 精通是要把C语言的内部的知识学会. 学个函数什么的那都不是事.
而且你要把所有库函数记住, 不太可能.
精通在于精, 不在于多.
精通, 你要把每个运算符, 表达式, 运算顺序, 运算的结果, 为什么它是这样的结果. 这些你是要知道的.
就像说二级指针, 和二维数组指针有何区别: int [10][10]; int **p;
你如果真地想要精通C语言, 最好是别再多学别的语言, 但是数据结构是肯定要学的. 不是说不能学, 只是说你C语言想要精通极难. 但是一门高级语言精通, 学其他语言就会变得特别简单.
学完C, 最好是去学C++, 然后再是Java.
然后是在学C++的STL库前, 把数组结构学会.
Ⅸ C语言标准库在哪
编译系统里。有个include文件夹。
Ⅹ c语言标准库的目的是什么
C语言标准库的目的就是实现了一些常用的子程序功能,方便编程人员直接使用。比如数学库,里面就有常用的数学计算函数,方便我们直接调用,因为数学计算的形式是固定的,这样就不用程序员们每次都在重新的编写了,还有标准输入输出库,在里面有我们常用的C语言函数printf(),如果自己用汇编语言或者api去实现的话会很麻烦的。总之标准库的目的就是供程序员共享常用的函数集合,不用做无用功。