易截截图软件、单文件、免安装、纯绿色、仅160KB

求教高手 关于C播放wav问题


最近在网上查了好多关于C播放wav这方面的资料,调试半天也没有结果,搜到一个编译好的EXE文件能播放,没有源代码,反汇编不了,谁能指点一下。。。。。以下两种代码段:
 #include <stdio.h>
#include <dos.h>
/* wav文件结构 */
typedef struct WaveData
{
   unsigned long sample_lenth;
   unsigned short rate;
   unsigned short channels;
   unsigned char  time_constant;
   char           bit_res;
   char       *name_wav;
 
   char           *sample;
} WAV;
/* wav头信息结构 */
typedef struct HeaderType
{
   long           riff;       /*RIFF类资源文件头部*/
   unsigned long  file_len;   /*文件长度*/
   char           wave[4];    /*"WAVE"标志*/
   char           fmt [4];    /*"fmt"标志*/
   char           NI1 [4];    /*过渡字节*/
   unsigned short format_type;/*格式类别(10H为PCM形式的声音数据)*/
   unsigned short Channels;   /*Channels 1 = 单声道; 2 = 立体声*/
   long           frequency;  /*采样频率*/
   long           trans_speed;/*音频数据传送速率*/
   char           NI2 [2];    /*过渡字节*/
   short          sample_bits;/*样本的数据位数(8/16)*/
   char         &n


相关文档:

#ifdef __cplusplus extern "C"

面试时被问到过,不甚明了,网上百度一下,整合了两个仁兄的文章,如下。:-)
时常在cpp的代码之中看到这样的代码:
#ifdef __cplusplus //c++编译环境中才会定义__cplusplus (plus就是"+"的意思)
extern "C" { //告诉编译器下面的函数是c语言函数(因为c++和c语言对函数的编译转换不一样,主要是c++中存在重载)
#en ......

我的C实践(1):宏的应用

    1、为了调用宏时能得到正确结果,在宏体中建议对宏的每个参数用括号括起来,并且当宏体是一个表达式时整个宏体也用括号括起来。
/* c1.c:将两个数相乘 */
#define product(x,y) ((x)*(y))
#include <stdio.h>
int main(){
int a=1,b=2,c=3,d=4,x=0;

x=product(a+3,b)+product(c,d); / ......

C/C++ assert() 函数用法

assert
函数名: assert
功  能: 测试一个条件并可能使程序终止
用  法: void assert(int test);
程序例:
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
struct ITEM {
   int&n ......

Visual Studio 2008 下生成C/C++ 汇编代码

在项目属性页 --> 配置属性 --> C/C++ --> 输出文件里面,将汇编输出的下拉列表从无列表选择为你需要汇编输出的内容,比如“仅列出程序集(/FA)”,如图1-1,图1-2:
 
图1-1
 
图1-2
------------------------------------------------------------------------------------------------ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号