学习高级c课程中遇到的函数

最近在学习高级c语言,其中有一些函数值得记录。

输入输出相关

首先是输入输出相关的函数

  1. int sprintf(char *buffer, const char *format, [ argument] …)
    该函数功能为把格式化的数据写入某个字符串缓冲区。
    返回值为写入的字符个数。
    如: j = sprintf(buf, \"%d \", i);
    j 的值即为2;
  2. int sscanf(const char *buffer, const char *format, [ argument ] … );
    该函数功能为读取格式化的字符串中的数据。
    返回值为成功转换并分配的字段数;
    返回值不包括已读取但未分配的字段。
    返回值为 0 表示没有分配任何字段。
    返回值是EOF是否有错误或如果在第一次转换之前到达字符串结尾。
    如:
    sscanf(“1 2 3”,\"%d %d %d\",buf1, buf2, buf3); 成功调用返回值为3,即buf1,buf2,buf3均成功转换。
    sscanf(“1 2”,\"%d %d %d\",buf1, buf2, buf3); 成功调用返回值为2,
    即只有buf1,buf2成功转换。
    注:sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输 入源,前者以固定字符串为输入源。
收藏 打印