¹ØÓÚc·ç¸ñ×Ö·û´® - C/C++ / C++ ÓïÑÔ
¿´primerµÚ115Ò³£¬¿´µ½Ò»¸ö·¶Àý£º
C/C++ code:
const char *cp1="A string example";
const char *cp2="A different string";
char largeStr[16+18+2];
strncpy(largeStr,cp1,17);
strncat(largeStr," ",2);
strncat(largeStr,cp2,19);
cout<<largeStr<<endl;
²»Ì«Àí½â°¡£¬ *cp1ÀïÃæÊÇ16ºÍ×Ö·û£¬*cp2ÀïÃæÊÇ18¸ö×Ö·û£¬ÎªÁËÈÝϽáÊø·û£¬"strn"º¯ÊýµÚÈý¸ö²ÎÊý¶¼¼Ó1£¬ÎÒÔõô¾õµÃ£¬ÒªÊǰüÀ¨½øÀ´Á˽áÊø·û£¬×îºólargrStr×Ö·û´®¾Í»á³ÉÁË"A string example\0 A different string\0"
ÎÒ¾õµÃÕâÑùÊä³öµÄʱºò¾ÍÖ»ÏÔʾÔÀ´cp1µÄÄÚÈݾͻáÓöµ½½áÊø·ûÁ˰¡£¬µ«ÊǾ¹ýʵ¼ù£¬Ö¤Ã÷ÊéÖÐȷʵÊÇÕýÈ·µÄ£¬Èç¹ûµÚÈý¸ö²ÎÊý²»¼Ó1£¬ÖмäÊä³öһЩÂÒÂ룬µ«ÊDz»Àí½â£¬²»ÖªµÀÎÒÓÐûÓÐ˵Ã÷°×ÎÒµÄÒâ˼£¬ËÄܽâÊÍÒ»ÏÂ
ºÇºÇ£¬¿´¿´strncpyµÈµÄÔ´´úÂë°É
Â¥ÉϵÄÒâ˼ÊÇ?????û̫Ã÷°×°¡£¬µÚÈý¸ö²ÎÊý²»ÊÇ˵½øÐвÙ×÷µÄ×Ö·û¸öÊýÂ𣿲»ÖªµÀÂ¥ÉÏÓÐûÓÐÃ÷°×ÎÒµÄÒâ˼
Ŷ£¡Â¥ÉϵÄ˵µÄÓеÀÀí£¡£¡£¡£¡ÄÇÒªÊÇûÓÐ\0µÄʱºòstrncpy¾ÍÒ»Ö±ÍùºóÕÒ£¬ÖªµÀÕÒµ½\0µÄʱºò²Å¼ÌÐøÐ´£¬ËùÒÔÖмä¾Í»áÊä³öÂÒÂëÊǰɣ¬¸Ðл¥Éϵģ¡Ã÷°×ÁË¡£½áÌùÁË
µÚÈý¸ö²ÎÊýÊÇÄãÖ¸¶¨¿½±´µÄ×Ö·û´®µÄ³¤¶È£¬²»Ò»¶¨ÊÇÕû¸ö³¤¶È°¡£¡£¡£¡
C/C++ code:
const char *cp1="A string example";
const char *cp2="A different string";
char largeStr[
Ïà¹ØÎÊ´ð£º
´ó¼ÒºÃ£¬ÕâÊÇÒ»¸öÖ÷ÒªÃæÏòc/c++/mfcµÄȺ£¬×î½ü½øÐÐÁËÒ»´Î´óÇåÀí£¬»¶Ó¸÷λ¸ßÊÖ¼ÓÈ룬ºÃѧ°®ÎʵÄÐÂÊÖ£¬Ò²¿ÉÒÔÉêÇëµÄ£¬ÉêÇë¸ñʽ Ö°Òµ£¨c/c++/mfc ÈÎѡһ»òÕ߶ࣩ ¹¤×÷ÄêÏÞ£¨Ñ§ÉúÖ±½Óд´ó¼¸£©¾ÍÐÐÁË£¬ÈëȺµÄÒªÇó¾ÍÊÇÒª» ......
´ó¼ÒºÃ£¬ÕâÊÇÒ»¸öÖ÷ÒªÃæÏòc/c++/mfcµÄȺ£¬×î½ü½øÐÐÁËÒ»´Î´óÇåÀí£¬»¶Ó¸÷λ¸ßÊÖ¼ÓÈ룬ºÃѧ°®ÎʵÄÐÂÊÖ£¬Ò²¿ÉÒÔÉêÇëµÄ£¬ÉêÇë¸ñʽ Ö°Òµ£¨c/c++/mfc ÈÎѡһ»òÕ߶ࣩ ¹¤×÷ÄêÏÞ£¨Ñ§ÉúÖ±½Óд´ó¼¸£©¾ÍÐÐÁË£¬ÈëȺµÄÒªÇó¾ÍÊÇÒª» ......
ÓÐÒ»10*10¾ØÕ󣬳ýÈ¥µÚÒ»¸öµã£¨0£¬0£©ºÍ×îºóÒ»µã£¨9£¬9£©£¬»¹Óа˸öµãΪ1£¬ÆäËû¶¼Îª0£¬ÒªÇóÓöþάÊý×é±íʾ¡£°Ë¸öµãÊÇËæ»úÉú³ÉµÄ£¬±àдÏà¹Ø³ÌÐò±íʾ¾ØÕóËùÓпÉÄÜÇé¿ö¡£
ÕæÐÄÇó½Ì¸÷λ¸ßÊÖ£¬°¥£¡±¾ÈËÌ«²ËÁË£¡ºÇºÇ£¡
......
´ó¼ÒºÃ£º
ÎÒÏëʵÏÖ¼ì²âµ½²åÈëSD¿¨ºó×Ô¶¯½«SD¿¨¸ñʽ»¯µÄ¹¦ÄÜ£¬²»ÖªC/C++ÖÐÓÐûÓиñʽ»¯UÅ̵ĺ¯Êý£¿
ÁíÍ⣬ÎÒ²»ÏëʹÓÃSHFormatDrive£¬ÒòΪÕâ¸öº¯Êý»áµ¯³öÊÇ·ñÒª¸ñʽ»¯µÄÌáʾ¿ò£¬ÎÒÐèÒªµÄÊÇϵͳ×Ô¶¯¸ñʽ»¯£¬¶ø²Ù×÷Õß² ......
ÔÚ¸ùĿ¼/libÖдæ·ÅÒ»¸ölog.c£¬log.h£¬²¢ÓÃÏÂÃæµÄÓï¾ä£º
gcc -c log.c
ar crv liblog.a log.o
±àÒë³öÒ»¸öliblog.a¾²Ì¬¿â£¬È»ºóÔÚÎļþ¼Ð£º/testfileÖд´½¨Ò»¸ötest.cºÍtestc.c£¬test.cÖÐÒýÓÃÁËtestc.cÖж¨ÒåµÄ·½·¨ ......