ÇóÖú£ºCÖеÄÄÚ´æÐ¹Â©ÎÊÌâ
×Ô¼º±àдÁËÒ»¸ö×Ö·û´®Á¬½Óº¯Êý£¬½á¹û³öÏÖÁËÄÚ´æÐ¹Â©ÎÊÌâ¡£¸÷λ¸ßÊÖ°ïæ¿´Ò»ÏÂÎÊÌâ³öÔÚÄÄ£¬Ó¦¸ÃÔõô¸ÄÕý¡£Ð¡µÜÔÚ´Ëл¹ý¡«¡«
void StrNullCopy(char** dst, const char* src)
{
if(src && strlen(src))
{
*dst = (char*)malloc(strlen(src) + 1);
strcpy(*dst, src);
}
return;
}
void StrConnect(char** dst, char *src, char ch)
{
assert(src != NULL);
if(*dst == NULL || strlen(*dst)==0)//×Ö·û´®Ö±½Ó¿½±´
{
StrNullCopy(dst, src);
return;
}
int i = 0, len = strlen(*dst);
char *tmp = (char*)realloc(*dst, strlen(*dst)+strlen(src)+1);
if(tmp == NULL)
{
printf("ÄÚ´æ·ÖÅäʧ°Ü\n");
return;
}
*dst = tmp;
(*dst)[len] = ch;
(*dst)[len+1] = '\0';
strcat(*dst, src);
return;
}
int main()
{
char *data = NULL;
char addition[]="TestData";
for(int i=0; i <2; i++)
{
StrConnect(&data, addition, ',');//×Óº¯Êý³öÏÖÄÚ´æÐ¹Â©
}
printf("%s\n", data);
free(data);//´Ë´¦ÄÚ´æÎÞ·¨ÊÍ·Å
data = NULL;
return 0;
}
luguo
ΪʲôҪÓöþ¼¶Ö¸ÕëÄØ£¿ÎÒ¶Ô¶þ¼¶Ö¸ÕëÀí½âµÄ²»ÊǺܺã¡
Ó¦¸Ãfree(*data)°
Ïà¹ØÎÊ´ð£º
#include <string.h>
#include <stdio.h>
void main()
{
int i;
char buf[]="abcde";
strncpy(buf,"abc",3);
for(i=0;i <5;i++)
printf(&q ......
ÔÚueÖдÓÔ¶³ÌunixÓöþ½øÖÆ·½Ê½ÏÂÔØcÎļþµ½±¾µØ£¬ÐÞ¸ÄÖ®ºóÓöþ½øÖÆ·½Ê½ÉÏ´«µ½unixÖУ¬ÔÙÓÃvi´ò¿ª¸ÃÎļþ£¬Ã¿ÐкóÃæ¾Í»áÓÐÒ»¸ö^MµÄ»»Ðзû£¬Èç¹û²ÉÓÃascii·½Ê½ÏÂÔØ£¬¶þ½øÖÆ·½Ê½ÉÏ´«µÄ»°¾ÍûÓÐ^M£¬ÄÇÇëÎÊÕâÑù»á¶Ô³ÌÐòÎļþ ......
±àд³ÌÐòdetab, ½«ÊäÈëÖеÄÖÆ±í·ûÌæ»»³ÉÊʵ±ÊýÄ¿µÄ¿Õ¸ñ£¬Ê¹¿Õ¸ñ³äÂúµ½ÏÂÒ»¸öÖÆ±í·ûÖÕÖ¹µÄµØ·½¡£¼ÙÉèÖÆ±í·ûÖÕֹλµÄλÖÃÊǹ̶¨µÄ£¬±ÈÈçÿ¸ônÁоͻá³öÏÖÒ»¸öÖÆ±í·ûÖÕֹλ¡£
£££££££££££££££££££ ......
C\C++ÈçºÎ¼ÆË㺯ÊýµÄµ¼Êý,±¾ÈËÐÂÊÖ£¬Ïëд¸ö³ÌÐò£¬µ«ÊDz»ÖªµÀÈçºÎÏÂÊÖ£¬»¹Íû¸ßÊÖÖ¸µãÒ»¶þ£¬Ð»¹ý¡£
Õâ¸ö¡¡
¸úº¯ÊýµÄ¾ßÌåÐÎʽÓйذɣ¬ÄѵÀÄãÏë±à³ö¸ö¡°ÍòÄÜ¡±µÄÇ󵼺¯Êý£¿
°³ÉÏѧʱÏë¹ý×Ô¶¯ÍƵ¼¹«Ê½£¬ºóÀ´ ......
ÓÃÕâ±¾ÊéÈëÃÅÔõôÑùÄØ ¸úÌ·ºÆÇ¿µÄÏà±ÈÈçºÎ£¿ лл
ÎÒ°ÑÕâ±¾¿´Á˼¸Æª£¬È·ÊµºÜºÃµÄÊé¡£¾Í²»ÒªÄÃËü¸ú Ì· µÄÊé±ÈÁË£¬ Ì· µÄÊéÒªÕÕ¹ËÈ«¹ú¶ÁÕß¡£
²»¿ÉͬÈÕ¶øÓï
Ò»¸öÊǹúÍâµÄ£¬Ò»¸öÊǹúÄÚµÄ
ѧÍêc primer ......