C/C++ ³ÌÐòÉè¼ÆÔ±Ó¦Æ¸³£¼ûÃæÊÔÊÔÌâÉîÈëÆÊÎöÖ®Èý
ÊÔÌâ5£º±àдһ¸öº¯Êý£¬×÷ÓÃÊǰÑÒ»¸öchar×é³ÉµÄ×Ö·û´®Ñ»·ÓÒÒÆn¸ö¡£±ÈÈçÔÀ´ÊÇ“abcdefghi”Èç¹ûn=2£¬ÒÆÎ»ºóÓ¦¸ÃÊÇ“hiabcdefgh”
¡¡¡¡º¯ÊýÍ·ÊÇÕâÑùµÄ£º
//pStrÊÇÖ¸ÏòÒÔ'\0'½áβµÄ×Ö·û´®µÄÖ¸Õë
//stepsÊÇÒªÇóÒÆ¶¯µÄn
void LoopMove ( char * pStr, int steps )
{
¡¡//ÇëÌî³ä...
}
¡¡¡¡½â´ð£º
¡¡¡¡ÕýÈ·½â´ð1£º
void LoopMove ( char *pStr, int steps )
{
¡¡int n = strlen( pStr ) - steps;
¡¡char tmp[MAX_LEN];
¡¡strcpy ( tmp, pStr + n );
¡¡strcpy ( tmp + steps, pStr);
¡¡*( tmp + strlen ( pStr ) ) = '\0';
¡¡strcpy( pStr, tmp );
}
¡¡¡¡ÕýÈ·½â´ð2£º
void LoopMove ( char *pStr, int steps )
{
¡¡int n = strlen( pStr ) - steps;
¡¡char tmp[MAX_LEN];
¡¡memcpy( tmp, pStr + n, steps );
¡¡memcpy(pStr + steps, pStr, n );
¡¡memcpy(pStr, tmp, steps );
}
¡¡¡¡ÆÊÎö£º
¡¡¡¡Õâ¸öÊÔÌâÖ÷Òª¿¼²éÃæÊÔÕß¶Ô±ê×¼¿âº¯ÊýµÄÊìÁ·³Ì¶È£¬ÔÚÐèÒªµÄʱºòÒýÓÿ⺯Êý¿ÉÒԺܴó³Ì¶ÈÉϼò»¯³ÌÐò±àдµÄ¹¤×÷Á¿¡£
¡¡¡¡×îÆµ·±±»Ê¹ÓõĿ⺯Êý°üÀ¨£º
¡¡¡¡£¨1£© strcpy
¡¡¡¡£¨2£© memcpy
¡¡¡¡£¨3£© memset
¡¡¡¡ÊÔÌâ6£ºÒÑÖªWAVÎļþ¸ñʽÈçÏÂ±í£¬´ò¿ªÒ»¸öWAVÎļþ£¬ÒÔÊʵ±µÄÊý¾Ý½á¹¹×éÖ¯WAVÎļþÍ·²¢½âÎöWAV¸ñʽµÄ¸÷ÏîÐÅÏ¢¡£
¡¡¡¡WAVEÎļþ¸ñʽ˵Ã÷±í
Æ«ÒÆµØÖ·×Ö½ÚÊýÊý¾ÝÀàÐÍÄÚ ÈÝÎļþÍ·
00H4 Char"RIFF"±êÖ¾04H4int32Îļþ³¤¶È08H4Char"WAVE"±êÖ¾0CH4Char"fmt"±êÖ¾10H4¹ý¶É×Ö½Ú£¨²»¶¨£©14H2int16¸ñʽÀà±ð16H2int16ͨµÀÊý18H2int16 ²ÉÑùÂÊ£¨Ã¿ÃëÑù±¾Êý£©£¬±íʾÿ¸öͨµÀµÄ²¥·ÅËÙ¶È1CH4int32²¨ÐÎÒôƵÊý¾Ý´«ËÍËÙÂÊ20H2int16Êý¾Ý¿éµÄµ÷ÕûÊý£¨°´×Ö½ÚËãµÄ£©22H2ÿÑù±¾µÄÊý¾ÝλÊý24H4CharÊý¾Ý±ê¼Ç·û£¢data£¢28H4int32ÓïÒôÊý¾ÝµÄ³¤¶È
¡¡¡¡½â´ð£º
¡¡¡¡½«WAVÎļþ¸ñʽ¶¨ÒåΪ½á¹¹ÌåWAVEFORMAT£º
typedef struct tagWaveFormat
{
¡¡char cRiffFlag[4];
¡¡UIN32 nFileLen;
¡¡char cWaveFlag[4];
¡¡char cFmtFlag[4];
¡¡char cTransition[4];
¡¡UIN16 nFormatTag ;
¡¡UIN16 nChannels;
¡¡UIN16 nSamplesPerSec;
¡¡UIN32 nAvgBytesperSec;
¡¡UIN16 nBlockAlign;
¡¡UIN16 nBitNumPerSample;
¡¡char cDataFlag[4];
¡¡UIN16 nAudioLength;
} WAVEFORMAT;
¡¡¡¡
Ïà¹ØÎĵµ£º
¶ÔÓÚC±àд³ÌÐò£¬´ó²¿·Ö¶¼¿ÉÒÔͨ¹ý£¬µ«ÊDz»»áÍêÈ«¼æÈÝ£¬¾ÙÁ½¸öÀý×Ó£º
1.
char *str;
str = malloc(32);
2.
char ch[3] = "abc";
gcc -g -o test test.c
g++ -g -o test test.c
ÒòΪC++¼ì²é¸ü¼ÓÑϸñ£¬CûÓÐÕâôÑϸñ¡£
´ó¼Ò¿ÉÒԱȽÏһϣ¬gcc²»»á±¨´í£¬g++»á±¨´í¡£
Èç¹û´ó¼Ò»¹ÓÐеÄcase,»¶Ó ......
step one£º½«.pcÎļþÔ¤±àÒëΪ.c
[ecif@localhost zyctest]$ proc sample1.pc
ÏÔʾÐÅÏ¢£º
Pro*C/C++: Release 10.2.0.1.0 - Production on Tue Apr 13 14:07:05 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
&nbs ......
ÔÚÈí¼þ¿ª·¢ÕâÒ»¸ß¶È³éÏó¶øÇÒÊ®·Ö¸´ÔӵĻÖУ¬ÃüÃû¹æÔòµÄÖØÒªÐÔ¸üÏÔµÃÓÈΪͻ³ö¡£Ò»Ì×¶¨ÒåÁ¼ºÃ²¢ÇÒÍêÕûµÄ¡¢ÔÚÕû¸öÏîÄ¿ÖÐͳһʹÓõÄÃüÃû¹æ·¶½«´ó´óÌáÉýÔ´´úÂëµÄ¿É¶ÁÐÔºÍÈí¼þµÄ¿Éά»¤ÐÔ¡£
ÔÚÒýÈëϸ½Ú֮ǰ£¬ÏÈ˵Ã÷Ò»ÏÂÃüÃû¹æ·¶µÄÕûÌåÔÔò£º
ͬһÐÔ
ÔÚ±àдһ¸ö×ÓÄ£¿é»òÅÉÉúÀàµÄʱºò£¬Òª×ñÑÆä»ùÀà»òÕûÌåÄ£¿éµÄÃüÃû ......
1.ÒýÑÔ
¡¡¡¡±¾ÎĵÄд×÷Ä¿µÄ²¢²»ÔÚÓÚÌṩC/C++³ÌÐòÔ±ÇóÖ°ÃæÊÔÖ¸µ¼£¬¶øÖ¼ÔÚ´Ó¼¼ÊõÉÏ·ÖÎöÃæÊÔÌâµÄÄÚº¡£ÎÄÖеĴó¶àÊýÃæÊÔÌâÀ´×Ô¸÷´óÂÛ̳£¬²¿·ÖÊÔÌâ½â´ðÒ²²Î¿¼ÁËÍøÓѵÄÒâ¼û¡£
¡¡¡¡Ðí¶àÃæÊÔÌâ¿´ËÆ¼òµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔÕßдһ¸ö×î¼òµ¥µÄstrcpyº¯Êý¶¼¿É¿´³öÃæÊÔÕßÔÚ¼¼ÊõÉϾ¿¾¹´ïµ½Á ......