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

C/C++
ActiveX控件中多控制的设计与实现
向CCmdTarget的派生类添加一个接口的实现
多线程安全的变量模板
利用硬件信息实现共享软件的安全注册
托管C++程序开发—Win表单文档程序设计(下)
在ATL中实现窗口
基于Visual C++ 的自动化客户端的实现
ATL接口映射宏详解
托管C++程序开发—Win表单文档程序设计(中)
使用Visual C++开发SOAP客户端应用
Visual C#的SQL Server编程
VC# .Net中浏览Crystal Report
关于GC:Dotnet中Dispose的设计模式
Visual C++ 优化概述
Visual C++.NET GDI+编程基础
.NET 中的断言和跟踪
每个开发人员现在应该下载的十种必备工具
代码最优化.NET中的内存管理
在VC++下对文件属性的获取与更改
高手必看:C、C++程序的优化之路

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


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

}