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

C/C++
VC++ SMTP协议电子邮件传送剖析
Managed C++设计新邮件检查器
解决两个难懂的安全性问题
高级扫描技术及原理介绍
VC的另类数据库编程
Visual C++6.0 API函数操作技巧集
托盘编程全接触
在Visual C++中使用内联汇编
理解 Visual C++ Extensions for ADO
TCP/IP Winsock编程要点
VC打造自己特色的屏幕保护
Windows Sockets API实现网络异步通讯
程序界面多模式显示的实现
VC++6.0中控制运行唯一实例
WDM驱动程序设计之编译安装篇
VC编程中如何操作数据库中的图像字段
Windows 9X硬件中断设备驱动程序的开发
用控件聚合技术为FlexGrid增添PickList功能
用ATL和MFC来创建ActiveX控件
用VC进行COM编程所必须掌握的理论知识

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 117 ::
收藏到网摘: 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;

}