C标准库常用函数

一、字符串操作函数

1、取字符串的长度

#include<string.h>

size_t strlenth(const char *s);


strlenth 函数返回s所指的字符串长度,该函数从s所指的第一个字符开始找‘\0’,一旦找到就返回,返回的长度不包括'\0'。

 

2、字符串拷贝

#include<string.h>

void *memcpy(void *dest, const void *src, size_t n);

void *memmove(void *dest, const void *src, size_t n);

memcpy函数从src所指的内存地址拷贝n个字节到dest所指的内存地址,和strncpy不同,memcpy不是遇到‘\0’,就结束,而是一定会拷贝完n个字符串。memcpy的src和dest所指的内存区间如果重叠则无法保证正确复制。但是memmove则可以完成这个复制。

例如:

memcpy(buf + 1,buf, 13 );

上面的例子中,应该用memmove函数,这个例子是错误的。但是,也可以借助于中间变量用memcpy完成上面的用法。
注意:以str命名开始的函数以\0结束,而以mem开始的函数则不关心\0字符。

 

3、字符串连接

#include<string.h>

char *strcat (char *dest, const char *src);

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

 

4、字符串比较

#include<string.h>

int memcmp(const void *s1, const void *s2, size_t n);

int strcmp(const char *s1, const char *s2);

int strncmp(const char *s1, const char *s2, size_t n);


5、字符串搜索

#include<string.h>

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

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


二、文件操作

文件可以分为文本文件(text file)和二进制文件(binary file)两种。源文件是文本文件,而目标文件、可执行文件和库文件是二进制文件

1、fopen和fclose

#include<stdio.h>

FILE *fopen(const char *path, const char *mode);

if((fp = fopen("test.in", "r") == NULL))
{
    printf("error open file!\n");
    exit(1);
}
.......
int fclose(FILE fp);


"w" 只写。"r"  只读,文件必须存在

 

2、以字节为单位的io操作

#include<string.h>

int fgetc(FILE *stream);

int getchar(void);

 调用getchar()相当于调用fgetc(stdin).

要用fgetc()函数读一个文件,该文件的打开方式必须是可读的。如果读到文件的末尾则返回EOF(即为-1),如果:

 

unsigned char c = fgetc(fp);

那么,c字节是无法区分是否读到文件的末尾了。unsigned的数没有符号位,因此不能区分是否读到文件的末尾。c应该赋值为int类型。

 

3、fputc   putchar

#include<stdio.h>

int fputc(int c, FILE *stream);

int putchar(int c);

 

putchar(c)相当于fputc(c, stdout).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值