当前位置: 首页 > 图文教程 > 开发语言 > C/C++ > C/C++:小编谈C语言函数那些事(33)

C/C++
2009年编程开发语言的使用率
C++对象模型笔记:dynamic binding
cstl -- c语言编写通用数据结构和常用算法库(模仿SGI STL)
子串匹配:不回溯算法
C++ Builder 访问 USB 口的方法
C++中二维数组的动态分配
数组和指针在编译的时候的区别
如何利用doxygen生成pdf文档
有关C++析构函数的异常(Exceptions in Destructors)
C++模板学习之函数对象之谓词
5月编程语言排行榜:D语言风采不再
一个C++类实现文件全盘搜索
C语言编程宝典之一 读书笔记
C语言嵌入式系统编程修炼(内存操作)
C++内存管理
带头结点的双循环链表
有关VA_LIST的用法
C++标准库简介(转)
一个栈类的实现(链栈)
C 引用与指针的比较

C/C++:小编谈C语言函数那些事(33)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 114 ::
收藏到网摘: n/a

C程序是由一组或是变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。下面小编和大家分享下C语言中的函数。

 

1.  ungetc函数

ungetc函数的功能是把一个字符退回到输入流中,其用法为:int ungetc(char c, FILE *stream);程序实例如下:

#include <stdio.h>

#include <ctype.h>

int main( void )

{

   int i=0;

   char ch;

   puts("Input an integer followed by a char:");

   while((ch = getchar()) != EOF && isdigit(ch))

      i = 10 * i + ch - 48;

   if (ch != EOF)

      ungetc(ch, stdin);

   printf("i = %d, next char in buffer = %c\n", i, getchar());

   return 0;

}

 2. ungetch函数

ungetch函数的功能是把一个字符退回到键盘缓冲区中,其用法为int ungetch(int c);程序实例代码如下:

#include <stdio.h>

#include <ctype.h>

#include <conio.h>

int main( void )

{

   int i=0;

   char ch;

   puts("Input an integer followed by a char:");

   while((ch = getche()) != EOF && isdigit(ch))

      i = 10 * i + ch - 48;

   if (ch != EOF)

      ungetch(ch);

   printf("\n\ni = %d, next char in buffer = %c\n", i, getch());

   return 0;

}

 

 

3.  unixtodos函数

unixtodos函数的功能是把日期和时间转换成DOS格式, 其用法为:void unixtodos(long utime, struct date *dateptr, struct time *timeptr);程序实例代码如下:

# #include <stdio.h>

#include <dos.h>

char *month[] = {"---", "Jan", "Feb", "Mar", "Apr", "May", "Jun",

                 "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};

#define SECONDS_PER_DAY 86400L  /* the number of seconds in one day */

struct date dt;

struct time tm;

int main(void)

{

   unsigned long val;

   getdate(&dt);

   gettime(&tm);

   printf("today is %d %s %d\n", dt.da_day, month[dt.da_mon], dt.da_year);

   val = dostounix(&dt, &tm);

   val -= (SECONDS_PER_DAY * 42);

   unixtodos(val, &dt, &tm);

   printf("42 days ago it was %d %s %d\n",

        dt.da_day, month[dt.da_mon], dt.da_year);

   return 0;

}

4. unlink函数

unlink函数的功能是删掉一个文件,其用法为:int unlink(char *filename);程序实例代码如下:

#include <stdio.h>

#include <io.h>

int main(void)

{

   FILE *fp = fopen("junk.jnk","w");

   int status;

   fprintf(fp,"junk");

   status = access("junk.jnk",0);

   if (status == 0)

      printf("File exists\n");

   else

      printf("File doesn't exist\n");

   fclose(fp);

   unlink("junk.jnk");

   status = access("junk.jnk",0);

   if (status == 0)

      printf("File exists\n");

   else

      printf("File doesn't exist\n");

 

   return 0;

}