播放媒体文件

 #include<windows.h>
#program <mmsystem.h>
#pragma comment(lib,"winmm.lib")
mcisendstring(”open music.wav”,NULL,,);
mcisendstring(”play music.wav”,NULL,,);

这个指令在少数电脑上可能无法通过

Windows.h中的系统函数原型

srand(unsigned int(……))

参数:unsigned int型的随机数种子

功能:给伪随机数生成种子,为保证随机数真的随机,常常把参数设定为系统当时时间。

System(“cls”)

功能:清除cmd窗口内所有内容

system("mode con cols=100 lines=30")

功能:将cmd窗口设定为指定大小,其中cols指定为列数,lines指定为行数。

控制台界面编程

改变控制台背景色

#include<Windows.h>
……
……
System(“color 0A”)

这是windows.h头文件中的函数之一,能够改变整个控制台窗口的颜色,0代表背景色,A代表前景色。颜色数字和setcolor相同,只不过要改成16进制。

注:我查了很久都没查到,自己实验后发现,和SetConsoleTextAttribute函数原型没有冲突,可以随意使用。

HANDLE GetStdHandle( DWORD nStdHandle );

参数:

STD_INPUT_HANDLE(标准输入设备)
STD_OUTPUT_HANDLE(标准输出设备句柄)
STD_ERROR_HANDLE(标准错误句柄)

功能:取系统标准句柄。

CONSOLE_SCREEN_BUFFER_INFO bInfo;

功能:储存窗口信息

GetConsoleScreenBufferInfo(hout, &Info );

参数:标准输出,窗口信息地址

功能:读取窗口信息

FillConsoleOutputCharacter(hout,' ', bInfo.dwSize.X * bInfo.dwSize.Y, pos, NULL);

参数:标准输出,填充字符char,窗口信息X,窗口信息Y;

注意:需要在前方声明结构体postion。

功能:向窗口填充空格以达到清屏效果

SetConsoleTitle(“Title”);

参数:字符串title(窗口标题)

功能:改变窗口标题

CloseHandle(hout);

参数:标准输出hout

功能:关闭输出句柄hout

SetConsoleCursorPosition(hout, coord);

参数:输出句柄hout,结构体coord

功能:将光标移动到以结构体的X和Y位坐标的位置。

SetConsoleTextAttribute(hout, bg_color * 16 + fg_color);

参数:输出句柄hout,整数,整数是背景色标号*16与前景色标号的合

功能:改变文本的背景色和前景色,如果打印空格则不输出前景色

GetModuleFileName(hhandle,lpfilename,size)

取当前模块的绝对加载路径,如果hhandle参数为NULL则取exe文件的绝对路径,将其放入字符数组中,用size限定最大长度

time.h


time.h/ctime头文件内含有一系列与时间及其转换的函数

使用C语言下的time.h实现一个时钟

所需函数

  • time()
  • localtime()
  • asctime()

time()

time_t time(time_t * timer)
返回一个从计算机公元纪年(1970年1月1日00:00)到目前为止的秒数(如果t是空指针)

localtime()

struct tm * localtime ( const time_t * timer );

将time()取得的秒数转化为一个具有实际意义的时间结构体,包含了年月日星期时间等信息

asctime()

char* asctime (const struct tm * timeptr).

asctime()将localtime()所得的时间结构体转化为当前所在时区的正确时间,返回一个字符串

以下是我用C语言实现的一个时钟

//This is a clock cpp programe based on c language,while I cannot totally comprehend the exact uses of cpp time function
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<ctime>
#include<Windows.h>
#include<cstdlib>
using namespace std;
HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);
void gotoxy(const int x, const int y)
{
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(hout, coord);
}
int main()
{
time_t now;
struct tm *timeblock;
SetConsoleTitle("c_clock");
system("color F0");
system("mode con cols=50 lines=10");
while ()
{
Sleep();
gotoxy(, );
now = time(NULL);
timeblock = localtime(&now);
cout << asctime(timeblock);
}
return ;
}

以下是程序运行效果

使用C++实现一个时钟

所需函数

  • time()
  • localtime_s()
  • asctime_s()

time()用法同上

localtime_s()

errno_t localtime_s(
struct tm* _tm,
const time_t *time
);

errno_t是一种数据类型,表示最后一次运行的错误代码,0表示没有错误

C++ 控制台编程的更多相关文章

  1. c/c++ console(控制台)编程详解

    前言: 控制台文本窗口的控制是基于win32 api(win32 api可理解为微软给我们提供的一系列函数的集合)实现的; 例1: #include <stdio.h>int main() ...

  2. Delphi_01_控制台版HelloWorld

    对于Windows下的控制台编程,我相信很多人都不陌生.而C语言开始的著名的“Hello world”程序基本是学习编程的第一步.我想对于 RAD开发,大家熟悉的一般都是GUI编程,而对于consol ...

  3. C语言编程漫谈——main函数

    写在前面 促使我写这篇文章是因为我这几天找了几个一样是大三的同学,与我相同专业相同方向(物联网)的人,除了@小胡同的诗,基本没有什么其他人会现在看起来很简单的编程题目了.问了一下其他同学,他们大部分都 ...

  4. C/C++控制台接收不到鼠标消息-【解决办法】

    控制台编程中,使用了鼠标操作,遇到了控制台无法接收到鼠标消息的问题,可尝试一下办法解决 [win10系统] 在控制台标题栏右键-默认值-选项,将一下对勾取消 然后调用如下函数: HANDLE hIn ...

  5. VB6 如何创建一个标准控制台程序

    打开 VB6 并新建一个标准EXE程序,把窗口删掉,然后再加入一个模块. 在模块中加入AllocConsole.FreeConsole.SetConsoleTitle.Sleep的API声明: Pub ...

  6. VC 获取控制台窗体的句柄(hWnd)

    在Windows中,句柄是一个系统内部数据结构的引用. 比如当你操作一个窗体.或说是一个Delphi窗体时,系统会给你一个该窗体的句柄,系统会通知你:你正在操作142号窗体.就此你的应用程序就能要求系 ...

  7. 浅析初等贪吃蛇AI算法

    作为小学期程序设计训练大作业的一部分,也是自己之前思考过的一个问题,终于利用小学期完成了贪吃蛇AI的一次尝试,下作一总结. 背景介绍: 首先,我针对贪吃蛇AI这一关键词在百度和google上尽心了检索 ...

  8. LIS检验系统,简介及主要特点

    简介 主要实现实验室设备的联机管理和信息传输以及发布,其联机共享范围小到单机版,大到医院之间或区域互联,都可以任意选择,按需升级.   主要特点 打报告不用输入姓名,报告处理轻松.高效.无差错 检查项 ...

  9. Chrome 开发工具指南

    Chrome 开发工具指南 谷歌 Chrome 开发工具,是基于谷歌浏览器内含的一套网页制作和调试工具.开发者工具允许网页开发者深入浏览器和网页应用程序的内部.该工具可以有效地追踪布局问题,设置 Ja ...

随机推荐

  1. shiro和Spring整合使用注解时没有执行realm的doGetAuthorizationInfo回调方法的解决(XML配置)

    在使用Shiro框架进行项目整合时,使用注解在使用Shiro框架进行项目整合时,使用注解在使用Shiro框架进行项目整合时,使用注解@RequiresPermissions为方法提供是需要的权限,但是 ...

  2. Zabbix Agent 自动、主动注册

    简述: 今天来研究一下 Zabbix 的主动注册功能. 当你有十台机器需要监控时,你手动去添加是没有问题的.但是当你有五十台.上百台或更多服务器要监控时,你会怎么做 ? Active Agent Au ...

  3. C# Attribute的用法

         {                   {                            Attribute[] atts = Attribute.GetCustomAttribut ...

  4. DEV上肤

    1,在Main中加入此语句DevExpress.UserSkins.BonusSkins.Register();SkinManager.EnableFormSkins();DevExpress.Loo ...

  5. CString 成员函数用法大全

    CString的构造函数CString( );例:CString csStr; CString( const CString& stringSrc );例:CString csStr(&quo ...

  6. 201671010140. 2016-2017-2 《Java程序设计》java学习第十五周

    java学习第十五周 Java的GUI界面设计,框架以及主要部件填充,归置,布局管理,在第十一章和第十二章进行了系统的学习,在这两章的知识奠基下,可以简单的构造一个GUI用户界面,在两周的学习后,可以 ...

  7. freeswitch由于ext-sip-ip地址填写错误导致32秒拆线问题

    通话32秒左右就断掉 检查 profile 的 ext-sip-ip 设置ext-rtp-ip和ext-sip-ip 可以直接设置为外网IP 自建stun-server, 更新后, 过了好几个小时出现 ...

  8. Linux Virtualization with Xen

    Xen is the new virtualization kid on the block. It's gaining visibility and importance at a speed on ...

  9. 1.在VC编译器下面为什么每个头文件以及源文件都要包含“stdAfx.h”,那么stdAfx.h中到底存放了什么,用来做什么?

    我们知道在windows平台下面很多的文件后缀名中都含有Afx,其实Afx是微软公司的一个技术研发团队名称,vc下的“stdAfx.h”和“stdAfx.cpp”文件就是有他们所研发出来的,为什么要这 ...

  10. JAVA 上加密算法的实现用例,MessageDigest介绍

    第 1 章基础知识 1.1. 单钥密码体制 单钥密码体制是一种传统的加密算法,是指信息的发送方和接收方共同使用同一把密钥进行加解密. 通常 , 使用的加密算法 比较简便高效 , 密钥简短,加解密速度快 ...