CžęČç´ÉˇŻi ..
262:ftHgĚźłľłń
10/04/19 01:37:10
>>250-254
čŞĆ¤˛´˘ÜˇI
िĺÁĆŠŞĹ˛×Ä׾čܡB
263:ftHgĚźłľłń
10/04/19 02:15:31
>>257
ŻślÔĆv¤Čć
RpCěÁÄéâÂÍęÓvO}[ćč¸ÁĆDGČńžŠç
264:ftHgĚźłľłń
10/04/19 02:43:42
>>263
˘ÂçÍFlžŠçB
¨ÁĆAFlĆžÁÄŕ[s[ÍćXnćsŤžŠçČB
265:ftHgĚźłľłń
10/04/19 19:17:54
>>248
266:ftHgĚźłľłń
10/04/19 19:19:54
>>253
inlineÍŻś|óPĘŕÉŠęȢƢŻČ˘ĚĹ
inlineŠ¸ÉŻśľć¤Ćv¤Ć
staticɾȢƢŻČČéş
267:ftHgĚźłľłń
10/04/19 22:23:52
forśŕĹěÁ˝IuWFNgđSÄIđˇéÉÍǤľ˝çǢšŠ
268:ftHgĚźłľłń
10/04/19 22:51:57
|C^startŞwľÄéĆąëŠçA|C^endŞwľÄéĆąĚuÔvĚśńđ
dataÉi[ˇéÉÍǤľ˝ç˘˘ĹˇŠ
ÚIĆľÄÍhtmlĚ^OćÁÄÁčĚ^OĹÍÜęÄéśńđ˛Ťoľ˝˘ńš
269:ftHgĚźłľłń
10/04/19 22:56:08
>>268
sprintf(data, "%.*s", end-start, start);
270:ftHgĚźłľłń
10/04/19 23:37:48
>>269
ťęÁ̪ۢōܾ˝AǤŕ
fprintfĹâÁ˝ç|C^śá_žÁÄ{çę˝ĚÉA
sprintfžĆĹŤéĚË
271:ftHgĚźłľłń
10/04/19 23:42:42
>>268
´žÁ˝çłK\ťŞgŚéžęÉŚ°żá˘ť¤
272:ftHgĚźłľłń
10/04/19 23:46:05
łK\ťÍOCuĹâŽĹŤéńśáȢĚH
273:ftHgĚźłľłń
10/04/20 00:41:09
>>270
> fprintfĹâÁ˝ç|C^śá_žÁÄ{çę˝ĚÉA
ąąçÓŞÁÉđōȢ
274:ftHgĚźłľłń
10/04/20 00:48:12
fprintf(filep, end-start, start);
Č´śĹâÁÄÝ˝çA
3ÔÚĚargumentÍ|C^śáincompatibležş
ÁÄG[Şo˝
275:ftHgĚźłľłń
10/04/20 01:47:17
˝Ĺť¤˘¤ĎČóÉľ˝ĚŠíŠçńŞAťęžĆ
2ÔÚĚř čŚńX
ÁÄG[ŞoȢŠH
276:ftHgĚźłľłń
10/04/20 02:42:10
#include <stdio.h>
#include <string.h>
int main( void )
{
char source[256];
char value[256];
int i,j, k = 0;
strcpy( source, "<name>2ch CžęX</name>" );
/* kśÜŸđąŻé */
for( i = 0; i < 256 || source[i] != '\0'; i++ ) {
/* Jn^Ođo => ĚśŞu/vĹÍȢ */
if( source[i] == '<' && source[i+1] != '/' ) {
/* u>vŞołęéÜĹ1ś¸Â˛×é */
for( j = ++i; source[j] != '>'; j++ );
i = j;
}
/* Iš^Oo => u<vĚŞu/v*/
else if( source[i] == '<' && source[i+1] == '/' ) {
/*ťęČăěˇéKvŞČ˘ĚĹ[vđ˛Żé */
break;
} else {
/* Iš^OŞołęéÜĹAĘŰśpzńÖ1ś¸Âi[ */
value[k++] = source[i];
}
}
/* kś}ü(śńƾď§łšé×) */
value[k] = '\0';
printf( "ÎŰśńF%s\n", source );
printf( "ośńF%s\n", value );
@@@@@@@return 0;
}
277:ftHgĚźłľłń
10/04/20 02:43:05
20Şç˘Ĺ˘˝ŞAsprintf()ĹâéűŞŞđYÜš˝B
278:ftHgĚźłľłń
10/04/20 11:17:59
^OđÁˇžŻČçąęĹŕ¨
#include<stdio.h>
#include<string.h>
int main(void)
{
char source[256];
char value[256]="";
char *p, *q;
strcpy(source, "<name>2ch CžęX</name>dummy string<br><br>");
strcpy(value, source);
for(p=value;(p=strchr(p, '<'));)
{
q=strchr(p+1, '>');
if(q==NULL) break;
memmove(p, q+1, strlen(q+1)+1);
}
printf( "ÎŰśńF%s\n", source );
printf( "ośńF%s\n", value );
return 0;
}
279:ftHgĚźłľłń
10/04/20 11:32:01
sprintf đgÁÄÝ˝
#include<stdio.h>
#include<string.h>
int main(void)
{
char source[256];
char value[256]="";
char *start, *end, *dest=value;
strcpy(source, "hello<name>2ch CžęX</name>dummy string<br><br>");
for(start=source;(end=strchr(start, '<'));)
{
dest+=sprintf(dest, "%.*s", end-start, start);
start=strchr(end+1, '>');
if(start==NULL) break;
start+=1;
}
if(start) sprintf(dest, "%s", start);
printf( "ÎŰśńF%s\n", source );
printf( "ośńF%s\n", value );
return 0;
}
280:ftHgĚźłľłń
10/04/20 18:45:20
wb_ÉvZÁ̤vOČńžŞíŠél˘éH
|C^đpľÄwb_t@CĆ\[Xt@CQÂg¤çľ˘
ČPČŤľZÝ˝˘ČńžŻÇíŠçń
281:ftHgĚźłľłń
10/04/20 19:07:02
>>280
íŠéć
282:ftHgĚźłľłń
10/04/20 19:43:26
wb_t@CÉvZˇéÖđ˘Ä¨ĆŠ?
283:ftHgĚźłľłń
10/04/20 20:24:07
>>280
ú{ęŨk
284:ftHgĚźłľłń
10/04/21 00:31:15
URLŘݸ(ux.getuploader.com)
ąęĚ\ڎétHgđĎŚ˝˘Ćv¤ĚšŞlÉÍxŞˇŹĹľ˝@Q[Ěśť`[ĹX˘śéĆú{ęťĹŤéć¤ÉČčܡBÇąĹtHgđwčľÄ˘éĚž夊Bđͨ袾ܡB
285:ftHgĚźłľłń
10/04/21 13:45:26
Âá˘
286:ftHgĚźłľłń
10/04/21 18:57:30
CĚüĺđÇńĹ
WÖĆWinsckđg˘vO~OĹŤéć¤ÉȾܾ˝B
ąĚĚiKĆľÄÍÇĚć¤ČwKđˇę΢˘Ĺľĺ¤ŠH
Q[ČÇÍěéÂŕč čÜšńB
Şâ轢ąĆÍć(OCRnĚćđÍ)â
lbg[NĘMiŠŞp\RĆFBĚp\RĹĘMˇéćČĚ)đ
ě轢ĆvÁÄܡB
lbg[NĘMÍWinsockđŕÁĆסę΢˘ŠČHĆv˘ÜˇŞA
ćČÇÍǤČńĹľĺ¤H
287:ftHgĚźłľłń
10/04/21 19:03:55
>>286
p\RĘMij
288:ftHgĚźłľłń
10/04/21 19:11:25
>>286
Ćč Ś¸ŽŽÁÄÝ˝H
éöxťęĹTvđŠŢŮ¤Ş˘˘Ćv¤
289:ftHgĚźłľłń
10/04/21 19:11:43
>>287
p\RĘMšŠEEE
ťęÍWinsockĆÍá¤ĚšŠH
290:ftHgĚźłľłń
10/04/21 19:14:04
>>286
lbg[NĘMÍWinsockđŕÁĆסę΢˘ŠČH
WinsockĚî{łŚíŠęÎA
iŠŞp\RĆFBĚp\RĹĘMjöxČçěęé͸žćB
ěę΢˘žŻB
ćČÇÍǤČńĹľĺ¤H
ÁÉ˝ŕKvĹȢćBˇŽÉěę΢˘ńśáȢB
OCRČçĺľ˝mŻČÇČÄࡎÉěęéćB
ľŽç˘ÍŠŞĚŞĹlŚć¤ćB
291:ftHgĚźłľłń
10/04/21 19:16:00
>>290
> OCRČçĺľ˝mŻČÇČÄࡎÉěęéćB
OCRŞˇŽěęéÁÄH
¨Oˇ˛ˇŹžë
> ľŽç˘ÍŠŞĚŞĹlŚć¤ćB
ťęÍÜ ˛ŕÁĆŕB
292:ftHgĚźłľłń
10/04/21 19:21:00
>>290
čŞĆ¤˛´˘ÜˇB
OCRÁÄČPČńšŠEEE
ćŁÁÄěÁÄÝܡB
293:ftHgĚźłľłń
10/04/21 19:28:46
>>291
OCRÁÄžÁÄŕsŤčžëBťčáťixÍłÉÜÁÄéB
ŻÇAáŚÎÉŔčľ˝ŕĚĆŠA
xN^[ĹČrbg}bvx[XɡéĆŠA
ť¤˘¤ŔčŞ ęΡŽÉěęéžëB
ĹÍťęޢńžľAťąŠçüÇđÁŚÄ˘ŻÎôçĹŕFŻŚÍĹŤéB
294:ftHgĚźłľłń
10/04/21 19:33:06
>>293
jpgt@CĆŠĹĹÍpžŻĚđÍ𾽢ĚšEEE
ČÉđסę΢˘ĹˇŠH
zgÉüĺăŞčĹĹßâÁĆWinsockĹFTPâPOPAHTTPĘMŞ
ĹŤéć¤ÉČÁÄŤ˝ĐćÁąĹˇEEE
295:ftHgĚźłľłń
10/04/21 19:46:54
vĆŠp^[FŻĆŠ
ČąĆ𾽢ČçEF[ubgϡƊĹÁĽoĹŤé
ČPÉâ轢ČçOpenCVĹĹŤéAÜ´Şm软ęÎSIFTĆŠSURFĆŠĚ_śÇß΢˘ć
SIFTĆŠÁŞ éŠçCđtŻÄË
lbg[NÖWÍęĺśáȢĚĹÚľÍmçȢ
gX|[gwľŠľÁ˝ąĆł˘ĚĹAھ͟ĚlŢ
296:ftHgĚźłľłń
10/04/21 20:29:38
ÍćtH[}bgđméąĆśáȢĚH
rbg}bvÍPžŠçrbg}bvŠçÍśßéĆǢB
rbg}bvćđÇÝąńĹťľÄo͡éc[đÂę
297:ftHgĚźłľłń
10/04/21 20:44:16
>>295
čŞĆ¤˛´˘ÜˇB
_śÁÄęčČńšŻÇA
âÁĎčđŻÄĘęȢĚšËEEE
>>296
íŠčÜľ˝B
rbg}bvćŠç쏾ÄÝܡB
CuÍDXޢšćËH
298:ftHgĚźłľłń
10/04/21 21:08:04
bĚWCužŻĹ\ŞBR\[ĹǢB
299:ftHgĚźłľłń
10/04/21 21:15:20
ťŕťŕsńĆŠt[GϡƊľÁÄéĚŠČ?
300:ftHgĚźłľłń
10/04/21 21:17:00
păwסę΢˘Ćv¤ć
ćASYĆŠťĚŕ̸ÎčĚ{ŕ éľB
wZsÁĢȢĚČçfW^ćĆŠĚią×ˇę΢˘ńĹŕČă?
301:ftHgĚźłľłń
10/04/21 21:19:16
ĆiÍNQńąŞ éŠç§íľ˝ç?
ŠM éČçQ˝čŠçnßéƢ˘ŠŕV
RÍîbmŻžŠçź
302:ftHgĚźłľłń
10/04/21 22:59:49
ĆišŠEEE
î{îńZpŇČçßăĚIđCžęĹćčÜľ˝B
19NxĚtąB
303:ftHgĚźłľłń
10/04/21 23:07:25
>>300
Ĺŕ¸Îč jpg đŕžľ˝ĐĆČéƢ˘ĚŞÝŠçČ˘Č B
URLŘݸ(www.amazon.co.jp)
ąęĚćęĹÍŕÁĢéAŕÁĢ鞯âŻÇB
304:ftHgĚźłľłń
10/04/21 23:43:40
>>303
´ÍťĚ{ĹJPEGĚGR[hEfR[hÍŔĹŤ˝Č[B
DCTĆŠTOIČĆąëÍuąęČçíŠéIpwłşvižÁŻHjŞŞŠč⡊Á˝B
305:ftHgĚźłľłń
10/04/22 00:10:14
#include <stdio.h>
#include <string.h>
#include <locale.h>
#include <stdlib.h>
#include <wchar.h>
main(){
wchar_t kana[] = L" ˘¤Ś¨ŠŤŻą";//---1
setlocale(LC_ALL, "");
printf("kana::%ls\n", kana);
printf("kana[2]::%lc\n", kana[2]);
wchar_t wbuf[81], *p1;//----------------------2
printf("enter wide_byte character::\n");
fgetws(wbuf, sizeof wbuf, stdin);
if((p1 = wcschr(wbuf, '\n')) != NULL)
*p1 = L'\0';
setlocale(LC_ALL, "");
printf("wbuf_no_naiyou::\n");
printf("%ls\n", wbuf);
printf("wbuf[2]::%lc\n", wbuf[2]);
return 0;
}
306:305
10/04/22 00:12:58
windowsăbccĹAú{ęśńĚüÍđzńÉóŻćÁÄAťĚvfÉANZXˇéĚŞÚIšB
1ůśĚChśńÖĚANZX
ŞĹŤ˝ĚĹA
2ChśńĚüÍđóŻÄťĚvfÖĚANZX
đľć¤Ćľ˝ĚšŞAfgetwsÉ1byteśđüÍľ˝ĆŤÍ¤Ü˘ĚÉA
Chśđü͡éĆfgetwsĚGR[obNŞŠŚéĆąëĹ~ÜÁľܢܡB
Ǥľ˝ç˘˘Ĺľĺ¤HÝŠŠĎˇvOđ˘ÄÝć¤ĆvÁ˝ĚšB
307:ftHgĚźłľłń
10/04/22 00:23:25
ćĚiÍąęĹľĺ
CG-ARTSŚďb2010CGč
URLŘݸ(www.cgarts.or.jp)
ąęđRŠçnßęÎZśöxĚwÍŠçßÄŕĺäv
308:ftHgĚźłľłń
10/04/22 00:28:06
>>306
cśáČÄrubyĹâÁ˝ç?
Cśáȍ᢯ȢRÁÄ˝?
309:ftHgĚźłľłń
10/04/22 00:28:36
@łăĚRŠçš
310:ftHgĚźłľłń
10/04/22 00:29:17
>>297
Cug¤ńČçĘÉÇĚ`ŽŠçĹࢢć
t@CtH[}bgđméKvརľÄČŠë
311:ftHgĚźłľłń
10/04/22 00:37:41
ÖŚ
312:ftHgĚźłľłń
10/04/22 01:06:51
łËË
313:ftHgĚźłľłń
10/04/23 08:37:56
>>306
MicrosoftĹâÁ˝ç?
bccśáȍ᢯ȢRÁÄ˝?
314:ftHgĚźłľłń
10/04/23 14:25:37
intĚQłzńđg˘˝˘ĚšŞAint hoge [ě轢]uąąvŠąąÍČÉđ\ľÄéĚšŠH
charČçoCgžĆv¤ĚšŞAintÍoCgŞÜÁÄ˝Ćv¤ĚšŞ
ě轢ÜĹĚeÔÉÎľ˝intđćčoľ˝˘Ěš
315:ftHgĚźłľłń
10/04/23 15:03:35
>>314
¨OŞ˘¤ĆąëĚ2łzńÁÄČńžH
˘ÔĹÍvfŞ n ÂĚzń(1łzń)Í hoge[n] Ĺ čA
vfŞ n x m ÂĚzń(2łzń)đ hoge[n][m] Ĺ\ˇB
1łĹŤčéČç1łzńđgŚB
316:ftHgĚźłľłń
10/04/23 15:03:44
ťęČç1łzńĹćËH
317:ftHgĚźłľłń
10/04/23 15:05:53
ÂÜčint hoge[ě轢]ŢŻéÁĹƚŠB
ť¤˘¤g˘űđSRmčÜšńĹľ˝B čŞĆ¤˛´˘Üľ˝
318:ftHgĚźłľłń
10/04/23 15:06:33
>>314
int hoge[3]; ÍintŞ3ÂŔńĹéB
int hoge[3][4]; ÍintŞ4ÂŔńžŕĚŞ3ÂŔńĹéB
hoge[0][0], hoge[0][1], hoge[0][2], hoge[0][3], hoge[1][0], hoge[1][1], ... ĚĹB
intĚoCgÍKiĹĹčłęÄ͢ȢB
ŔŰÉRpCˇéÉťĚÂŤĹ˝oCgÉČéĚŠÍťčáÜÁÄéŻÇB
ĄÍPCĚÂŤžĆŮĆńÇ4oCgB
319:ftHgĚźłľłń
10/04/23 15:16:51
charĹoCgđwčľÄ2łzńAŠB
ťęÍ˝ÔńśńĚzńđěë¤ĆľÄ˘˝ńśáȢŠČB
320:ftHgĚźłľłń
10/04/23 18:05:22
CžęĹV[U[ĂĚđÇvOđěÁĢܡB
čĆľÄÍAĂťłę˝śńđüÍľÄ1¸œńđ¸çľÄ
26ĘčĚśńđo͡évOšB
#include<stdio.h>
int main(void)
{
char ang[8]; //ĄńÍĹĺ8śĚśń
int i,j;
for(i=0;i<26;i++){
for(j=0;j<8;j++){
printf("%c",ang[j]+i);
}
}
ßÍASCIIR[hĚZĆaŞqŞÁĢéŕĚĆv˘ą¤gńžç
ZĚăÉÍLŞüÁĢÄlÜÁľܢܾ˝B
A-ZÜĹĚzńđěÁÄťĚĹńˇAĆŠASCIIR[hĹŕZĚđAɡé
ĆŠFXlŚÜľ˝ŞAǤľÄ˘˘ĚŠŞŞŠçȢšcB
˛wą¨č˘ľÜˇB
321:ftHgĚźłľłń
10/04/23 18:10:44
(ang[j] - 'A' + i) % 26 + 'A'
322:ftHgĚźłľłń
10/04/23 18:28:17
>>320
isalpha()
323:ftHgĚźłľłń
10/04/23 18:37:27
>>320
{čĆÍÖWȢŞA
>char ang[8]; //ĄńÍĹĺ8śĚśń
ang[8]žĆĹĺ7śĚśńČ
324:ftHgĚźłľłń
10/04/23 18:41:29
NULI[śńĆÍžÁÄȢĚĹAÔáÁĢȢ
ťęÉprintf("%c",ang[j]+i);žŠçANULÍKvƾĢȢĆÇßé
325:ftHgĚźłľłń
10/04/23 18:50:38
|C^łä@Áġ˘˝ŻÇ
CžęĚüĺƊɢÄéć¤ČŹł˘TvR[hžĆ
SRďľČÄ˝Şďľ˘ĚŠíŠçČŠÁ˝B
|C^ÁÄČńŠŢ¸Šľ˘Ş éĚH
326:ftHgĚźłľłń
10/04/23 18:51:26
NULI[
327:ftHgĚźłľłń
10/04/23 18:53:34
ŞŠélÉÍďľČ˘AŞŠçȢlÉÍᄁB
ľęęÎǤÁÄąĆÍȢB
328:ftHgĚźłľłń
10/04/23 19:00:50
>>325
üĺҪᄁ͸ȢB
329:ftHgĚźłľłń
10/04/23 19:04:05
SŇÍALinkedListđŠOĹŔľÄÝHÁÄžíęÄßÄA
ŠŞŞ|C^đđľÄ˘Č˘ąĆÉCĂŕĚB
330:ftHgĚźłľłń
10/04/23 19:07:33
>>325
lÉćéńśáȢH
´ÍÖ|C^ĚđŞxŠÁ˝ŻÇA˘´đľ˝çČɪハÁ˝ĚŠŞŠçČČÁ˝Č
331:ftHgĚźłľłń
10/04/23 19:11:03
˝ŕLvČîńÍcł¸ÉÇŢŕĚđsőÉłšéžŻĚXđˇéâÂÍË΢˘ĚÉČ
332:ftHgĚźłľłń
10/04/23 19:12:48
int (*(*foo)(int (*(*)(void))(void)))(int (*)(void))
333:ftHgĚźłľłń
10/04/23 19:13:21
´ÍË΢˘ĆŠvíȢŻÇAČńĹ>>331ÍŠEľČ˘ĚH
334:ftHgĚźłľłń
10/04/23 19:20:08
Î߲ÝŔĆzńŞ˛ÁżáÉČÁľܤƹë
ézńĚŔvfŞ@Î߲ÝŔĹ éiÎ߲ÝŔzńję@zńĹ éi2łzńję
eťęźęĹALŻĚćĚzuŞ{żIÉá¤ĚÉđĹŤéÜĹĚ~Ş˘B
ůÉŠęĢéLqđÇŢĚÍÂ\Ĺŕ
â轢ąĆđŔˇéĚÉAÇżçŞKŘŠđIđĹŤéŠ@Şˇ°Î߲ÝÄ
335:ftHgĚźłľłń
10/04/23 19:21:54
ÖĚřâßčlÉ|C^ĎŞgíęéęČńŠŕSŇÍŹľâˇ˘Č
336:ftHgĚźłľłń
10/04/23 19:24:36
łzńÁÄ
ąńČ´śĹ
zńĚŔvfŞ|C^ÁÄĚÍ
¨
¨
¨
¨
¨
ą¤˘¤ąĆH
337:ftHgĚźłľłń
10/04/23 19:30:14
>>336
¨¨ćť yes
wľÄ˘éćŞÇꞯĚ即ĚíŞ éŠ˘mč & ŮĆńÇmépÍł˘
iłçÉAsłČęđwľÄ˘éÂ\Ťŕ éńj
¨
¨
¨
¨ĘéŰI
¨@ŠçŤ
ą¤˘¤ąĆŞ čžé
338:ftHgĚźłľłń
10/04/23 19:34:43
>>321
Á˝]čĹlŚéƢ¤vlŞ čÜšńĹľ˝cB
čŞĆ¤˛´˘Üľ˝I
>>322
^UĹifśěéÁÄĚŞ éĚđmčÜšńĹľ˝B
×ÉČčÜľ˝I
339:ftHgĚźłľłń
10/04/23 21:27:13
>>332
ąęÖ|C^H
DLLĚÖđŽIÉÄÔĆŤÉA
GetProcAdressijĹÖ|C^ćÁÄé碾Šg˘šŞŞŠçńB
340:ftHgĚźłľłń
10/04/23 21:38:28
ŞŠč⡝¤ČĆąëđIÔĆľ˝çCxgnhĆŠŠČB
341:ftHgĚźłľłń
10/04/23 22:14:53
>>339
řđćç¸řđćç¸intđÔˇÖÖĚ|C^đÔˇÖÖĚ|C^đćčA
řđćç¸intđÔˇÖÖĚ|C^đćčintđÔˇÖÖĚ|C^đÔˇÖ
ÖĚ|C^žËB
342:ftHgĚźłľłń
10/04/23 22:27:42
ŚŚ˘A˘˘ŠçŮÁÄtypedefľë
343:ftHgĚźłľłń
10/04/23 22:35:09
typedefľÜčŲŞĐëŞčńŽ
344:ftHgĚźłľłń
10/04/23 23:21:31
URLŘݸ(kansai2channeler.hp.infoseek.co.jp)
ÔĆźOŞ_ÉLüłę˝eLXgđÇÝńĹAĆźOÉŞŻÄzńÉi[ľAÔ¸čĹŔ׊ŚÄeLXgt@CĹoÍľ˝˘ĚšŞ
Ŕ×ŠŚŞ¤Ü˘ŤÜšń
Ćč Ś¸ěÁÄݽ̚Şc
AhoCXžł˘
345:ftHgĚźłľłń
10/04/23 23:26:57
>>344
tmp ͢çȢ
\[gŞĹŤÄ˘Č˘
\[gŞIíÁÄŠço͡ę΢˘
NŠÉĘłšÄŕçÁ˝ĚH
346:344
10/04/23 23:33:00
ßÉěÁ˝âÂđ˝ÂŠgÝíšÄěÁĽ繤ČčÜľ˝c
347:ftHgĚźłľłń
10/04/23 23:33:07
>>344
ÔAźOAeLXgĚč`đˇéĆbŞ˘Ćv¤B
áF
ÔÍA'0'Šç'9'ĚśŠçČéśń
źOÍAĐçŞČAŠ˝ŠČAżŠçČéśń
eLXgÍAÔĆźOđXy[XŠçČéśńĹAĹăČOĚÔ¨ćŃźOĚăÉÍK¸Xy[XŞéB
11113 3333 5892739 Rc 12128384 ´ 32939 8883 ×ě 32932399
ĆŠB
348:ftHgĚźłľłń
10/04/23 23:37:36
>>344
qg
for
@ @ fscanf
for
@ @ for
@ @ @ @ if
for
@ @ fprintf
349:ftHgĚźłľłń
10/04/23 23:41:59
>>344
ܸ
@1.t@CđSÇŢ
@2.ŔŃÖŚđs¤
@3.ŔŃÖŚ˝f[^đt@CÉ
Á̤ŹęÉŤˇŚÄ
2.ĚŞđśÁčlŚÄÝÄžł˘B
350:349
10/04/23 23:43:51
>>348
ŕëŠÔÁ˝X}
351:ftHgĚźłľłń
10/04/24 00:47:16
ÖŠç\˘ĚđÔˇKvŞ éęA˝ŠîâčÎÍ čܡŠH
ą¤˘¤ÉÍą¤ˇęÎǢƢ¤wjŞ ęÎm轢šB
//\˘ĚĚá
struct my_struct {
@int size;
@void *ptr;
@int data[];
};
//(1)createÖĚĹ\˘ĚđmallocľÄAdeleteÖĚĹfreeˇéB
struct my_struct* create_my_struct(int param);
void delete_my_struct(struct my_struct* md);
//(2)ÄŃoľłĹ\˘ĚđmŰľÄAinitÖĚĹo[đmallocľÄAreleaseÖĚĹo[đfreeˇéB
// \˘ĚťĚŕĚÍÄŃoľłĹǤɊˇéB
int init_my_struct(struct my_struct* md, int param);
void release_my_struct(struct my_struct* md);
ťęźęşLĚfbgŞ éĆv˘ÜˇB
(1)ĚfbgÍÄŃoľłĹü꽢[ĚćŞ éęAcreateľ˝\˘ĚđRs[ˇéKvŞ éB
(2)ĚfbgÍÄŃoľłĹinitđÄÔOÉ\˘ĚĚ即đmÁĢȯę΢ŻČ˘B
352:344
10/04/24 00:55:12
FłńĚAhoCXĘčÉŹęđlŚÄA˘żŠçâčźľ˝çłŹ÷ľÜľ˝B
čŞĆ¤˛´˘Üľ˝B
353:ftHgĚźłľłń
10/04/24 01:20:37
>>351
iPjĚfbgŞćíŠçńČ
ťĚĚćÁÄĚÍ create ĹmۡéńśáȢĚH
ĆRs[¤ńĘńÍRs[pĚÖĹOK?
354:ftHgĚźłľłń
10/04/24 01:51:37
>>353
ŔÍąńČ´śĹˇB
struct my_struct* create_my_struct(int param)
{
@struct my_struct* md = (struct my_struct*)malloc(sizeof(struct my_struct) + sizeof(int)*param);
@md->size = param;
@md->ptr = malloc(param);
@return md;
}
void delete_my_struct(struct my_struct* md)
{
@free(md->ptr);
@free(md);
}
fbgÍAşLĚć¤ČęAmemcpyŞKvȹƚB
int get_data(char* buf, int size)
{
@struct my_struct* md = create_my_struct(size);@@//ŠąąĹbufđnš˝ç
@int ret = memcpy(buf, md->ptr, size);@@@@@@@@@//ŠąąĹRs[ľČĢ˘
@delete_my_struct(md);
@return ret;
}
355:ftHgĚźłľłń
10/04/24 02:02:09
ČńŠáa´Ş éČBǤ˘¤vzČńžë
356:ftHgĚźłľłń
10/04/24 02:49:32
>>354
*ptrĚg˘šÍČńžëBÂ[ŠAeľâˇłdČ繤śáËH
typedef struct {
@int size;
@int chinko;
@int unko;
@int data[];
} unko_t ;
unko_t *create_unko( unko_t *md, char *buf, size_t size )
{
@md = malloc( sizeof(unko_t) + sizeof(int)*size );
@if(md){
@@md->size=size;
@@memcpy(md->data,buf,size);
@}
@return md;
}
int get_data(char *buf, int size)
{
@unko_t *md;
@if( create_unko( md, buf, size )==NULL ) perror("unko");
357:ftHgĚźłľłń
10/04/24 02:50:30
rĹMľżáÁ˝ćŕ¤Ç¤Ĺࢢâ
358:ftHgĚźłľłń
10/04/24 02:58:38
>>354
ÜćíŠçȢńžŻÇAąńČ´śÉˇęÎOK?
struct my_struct* create_my_struct(int param, char *buf)
{
@struct my_struct* md = (struct my_struct*)malloc(sizeof(struct my_struct) + sizeof(int)*param);
@md->size = param;
@md->ptr = malloc(param);
@if (buf)
@@memcpy(md->ptr, buf, size);
@return md;
}
ČńÉšćA\˘ĚĚTCYŞsčÁÄiKĹ create/delete űŽžËB
ăĹŕÁĆć˘Ŕđv˘Â˘˝ĆŤÉ༵ⷻ¤žB
359:ftHgĚźłľłń
10/04/24 02:59:04
˘âASR_žë
create_unko()ĚćęřŞçˇžľA\[XJúĹŤČČÁÄéľ
ǤĹࢢŻÇA˘ÜÇŤvoid *ĚăíčÉchar *gíČÄŕ
ĆAĎXľČ˘ĎÉÍconstđžŚIÉtŻ˝űŞKšÉČęé
360:ftHgĚźłľłń
10/04/24 03:00:37
őÉŠÔÁ˝ŻÇÜ Ç¤ĹࢢČ
361:351
10/04/24 03:04:33
ŞŠčÉŠÁ˝ĚĹA>>354ÉÇÁľÜˇB
int do_some_process_to_my_struct(struct my_struct* md, int param)
{
@for(int i = 0; i < md->size; i++){
@@((int*)md->ptr)[i] = param+i;
@}
@return param+i;
}
int get_data2(char* buf, int size)
{
@struct my_struct* md = create_my_struct(size);@@//ŠąąĹbufđnš˝ç
@do_some_process_to_my_struct(md, 12345);
@int ret = memcpy(buf, md->ptr, size);@@@@@@@@@//ŠąąĹRs[ľČĢ˘
@delete_my_struct(md);
@return ret;
}
362:351
10/04/24 03:12:28
>>358
˘˘ŚBOKĹÍȢšB
memcpyˇéĚÍ ÜĹŕášĚĹAcreateĚÉmemcpyđüęľܤĚÍbŞáÁľܢܡB
m轢ąĆÍA>>351ɢ˝Ć¨čAÖŠç\˘ĚđÔˇęÉ
(1)Ć(2) é˘ÍťĚźĚű@ĹǢâčűŞ éĚŠAƢ¤ąĆšB
363:351
10/04/24 03:19:32
>>361
int do_some_process_to_my_struct(struct my_struct* md, int param)
{
@int i;
@for(i = 0; i < md->size; i++){
@@((char*)md->ptr)[i] = (char)(param+i);
@}
@return param+i;
}
ÜĹŕᚪAÔáÁĢ˝ĚĹůłľÜˇB
364:ftHgĚźłľłń
10/04/24 03:23:36
â轢ąĆŞÜÁ˝ŞŠçČČÁÄŤ˝ĚĹ
ाČÉíŠčâˇŔáÝĹŕžŢ
365:ftHgĚźłľłń
10/04/24 04:35:09
}NĹsubstituteˇéǢű@ł˘H
#define substitute_ptr(a) ??
#define fn_typedef(a,b) typedef a(*fn##substitute_ptr(a)##substitute_ptr(b))(b);
fn_typedef(ANYSTRUCT*const,int); ¨ typedef ANYSTRUCT*const (*fnANYSTRUCTconstint)(int);
366:ftHgĚźłľłń
10/04/24 06:47:19
printf( "sin(Î) = %g \n" ,sin(M_PI) );
sinÎŞ0ÉČçȢńžŻÇH
367:ftHgĚźłľłń
10/04/24 07:04:50
ťńç˘ĚëˇÍoéžë
368:ftHgĚźłľłń
10/04/24 07:47:45
>>351
struct my_struct {
@int size;
@struct {
@@char param;@@/* malloc Šçchar^đzč */
@@int data;
@} elem[];
};
ą¤˘¤Ó¤ÉyAÉľ˝ç_H
^ĚŮČéiľŠľvfĚľ˘jÂϡť˛˝ŢđÂ\˘Ěđć辢˝˘ć¤žŞc
369:ftHgĚźłľłń
10/04/24 09:17:20
>351
łXĚżâÍAęĘIÉÍťĚ2ĘčĚâ芽žë¤AĆŚéB
ľŠľ(1)ĚfbgŞđōȢB
(1)ĚfbgÍÄŃoľłĹuü꽢[ĚćŞ éęvAcreateľ˝\˘ĚđRs[ˇéKvŞ éB
ĆÉuü꽢ĚćŞ éęvƢ¤ŞŞsžB
|C^ŞoÉČÁĢéĆŤÉAťĚŔĚŞ~ľ˘ÁÄąĆH
>354 >361đŠÄéĆA ÁÄńžŠá¤ńžŠBcreatÖĚĹođćžľć¤ĆľÄ˘éĚŠPJB
ŕľoŞĚŔĚŞ~ľ˘ČçAť¤˘¤@\đŔťľ˝ÖđěęÎć˘B
ąńČ´śśáȢŠB
void get_data(struct my_struct* pMyData, void *pData)
{
@pData = malloc(pMyData->size);
@memmove(pData, pMyData->ptr);
}
370:ftHgĚźłľłń
10/04/24 09:55:27
Ö|C^ĚzńÉ¢ijŚÄžł˘B
void func1( );
void func2( );
void main()
{
int i;
void (*func_ptr[2])( )= { func1, func2};
for(i=0; i<2; ++i)
{
(*func_ptr[i])( ); /* */
}
}
void func1( )
{
printf("func1\n");
}
void func2( )
{
printf("func2\n");
}
ăLĚvOĹfunc1Ćfunc2ŞŔsĹŤ˝ńšŞA
ĚĆąëđ(func_ptr[i])( ); ĆľÄŕAfunc1Ćfunc2ŞŔsĹŤÜľ˝B
Ö|C^ĚzńÉ*đtŻ˝ęĆtŻČ˘ęÍ˝Şá¤Ěž夊H
371:ftHgĚźłľłń
10/04/24 10:00:40
281 źOFftHgĚźłľłń[sage] eúF2007/11/08(Ř) 00:27:05
Ö|C^ÁÄăüĚ&ĆŔsĚ*ÁÄČÄŕŽěĎíçȢćËH
ŕĆŕĆÍÇÁżŞłľ˘ĚH
282 źOFftHgĚźłľłń[sage] eúF2007/11/08(Ř) 01:06:42
łXKvžÁ˝çľ˘ŞAgccŞČńŠ_ľÄĆŠgŁĆľÄČŞľÄŕÇľ˝çA
˘ÔÉóŻüęçę˝ČńÄb𡢽ąĆŞ éB
372:ftHgĚźłľłń
10/04/24 10:10:25
a[3]Ć*(a+3)Í˝Şá¤
ÁÄŤć¤ČŕĚ
ŤűŞá¤žŻĹÜÁ˝Żś
373:351
10/04/24 10:42:37
>>368
struct my_struct Í ÜĹŕ\˘ĚĚęášB
ĄńĚżâĹÍstruct my_struct ĚgđHvˇéąĆÍ ÜčdvĹÍ čÜšńB
ęĘIČbĆľÄAÖŠç\˘ĚđÔˇęĚAÖvg^CvĚÝvÉčÎŞ éŠÇ¤Šđm轢ĚšB
ą¤˘¤ÉÍą¤ˇęÎǢƢ¤wjŞ ęÎm轢šB
>>369
>|C^ŞoÉČÁĢéĆŤÉAťĚŔĚŞ~ľ˘ÁÄąĆH
˘˘ŚBĄAďĚIČ\˘Ě ÁÄAťĚ\˘Ěđľ¤ÖĚěčűđm轢Ƣ¤ąĆĹÍ čÜšńB
żâĚÓ}ÍA
\˘Ěđúť é˘ÍśŹˇéÖđÝvˇéĆŤĚęĘ_ĆľÄA
áŚÎ
u|C^Şo[ÉČÁĢé\˘ĚĚęÍ(1)ŞÇÄAť¤ĹȢ\˘ĚÍ(2)ŞÇ˘viŠąęÍášBj
Ƣ¤ć¤ČčÎŞ ęÎm轢AƢ¤ąĆšB
šĚĹAget_dataĚěčűÍżâĚÎŰĹÍ čÜšńB
żâĚÎŰÍ>>351Ě(1)(2)ĚÖvg^CvɢĚB
374:ftHgĚźłľłń
10/04/24 11:43:19
>>351
ď|ŞÇŞŠçńĚžŞAvˇéÉA
\˘ĚĚgđŽIÉđm۾ȿáČçńÉA
\˘ĚŠgŕŽIÉmŰľ˝˘ęA
ęÉmŰľ˝űŞÇ˘ĚŠAĘXÉmŰľ˝űŞÇ˘ĚŠÁÄbH
375:370
10/04/24 11:43:48
>>371-371
ń čŞĆ¤˛´˘ÜˇB
*đtŻéĆAfunc1Ƣ¤ÖźÉČčĹIIÉÍA
ÖźžŻ˘˝ęÍAhXÉČéƢ¤[ĹAhXÉČéB
*đtŻČ˘ĆAfunc1ĚAhXÉČé
ÇżçĹ௜ć¤Éfunc1ŞŔsłęéƢ¤ąĆĹÁÄܡž夊H
376:351
10/04/24 11:46:36
>>374
ť¤ĹˇËB
Ǥ˘¤ęÉÍęÉmŰľ˝Ů¤ŞÇÄAǤ˘¤ęÉÍĘXÉmŰľ˝Ů¤ŞÇ˘Ć˘¤wjŞ ęÎm轢šB
źÉŕÁĆǢâčűŞ ęÎťęŕm轢šB
377:ftHgĚźłľłń
10/04/24 12:59:50
>>376
ťĚ\˘ĚĚBÁďâś˝úÔĆĚkŠČ
FILE Žç˘@ŞżŞżÉBÁˇé
@@Öp¤Íî{IÉoANZXľČ˘F@ěÖ(Q) ĆZbgÉČé
CČĚŠ@iąĚęÍ@create/delete ĹŽˇ×Ťj
XgIprÉßAestruct Ěś˝úÔĆÍśŤÄ˘éKvŞ éÔŞ
á¤ęÍAoÍ alloc š¸ NULL ĚÜÜ
378:ftHgĚźłľłń
10/04/24 13:23:31
>>351
`AâÁĎčAď|Ş˘Ü˘żÇŞŠçńČcB
>>354Ěget_data()Ěg˘űđŠéĆcreate_my_struct()ľ˝ÉA
ĚćĚmŰžŻĹČAŔŰÉKvČf[^ŞěŹłęÄA
ťĚŕeđget_data()ĹřÁŁéÁÄdgÝÁÄFŻľ˝ńžŞA
ÁÄąĆÍA(1)ĹĚcreate_my_struct()ÍA
ĚmŰžŻĹČAf[^ÜĹ쏡éÁÄFŻĹ ÁÄéH
ĹA(2)ĹÍinit_my_struct()Ĺf[^žŻěʎéÁÄąĆH
ŚąąĹĚf[^ěŹÍAĚŽImŰđÜŢ
Ćž¤Ĺ ęÎAťĚinit_my_struct()Ĺ쏡׍f[^Í
ťęžŻĹAęÂĚ\˘ÁÄąĆÉČéŠçA
ťęźępĚcreateđě骳ľ˘Ćv¤ĚžŞH
źÉinit_my_struct()đcreate_my_struct2()ơéĆ
create_my_struct()ĚĹcreate_my_struct2()đÄŃoˇC[WB
ĹAťĚXĹKvČcreate()đÄÔB
379:ftHgĚźłľłń
10/04/24 14:04:10
>>376
´ŕTË>>377ĆŻÓŠB
źĚâčűĆľÄÍA\˘ĚČçÖĚßčlĆľÄ
\˘ĚĚŔĚđÔˇű@ŕ éćB
G[đÔľĂçŠÁ˝čAČ̢âčűžŻÇB
380:ftHgĚźłľłń
10/04/24 14:34:29
ÂᢞÁ˝çˇÝÜšńBBB
Cžę(WinAPIđÜŢ)ĹO[oIPAhXđłâčĎŚéąĆÍōܡŠH
381:ftHgĚźłľłń
10/04/24 14:42:44
ĘMĹŤČČéĹľĺ
382:ftHgĚźłľłń
10/04/24 14:47:21
>>380
Cžę(WinAPIđÜŢ)đgÁÄA˝Ě@íĚO[oIPđ
ÇńČÓĄĹĎŚ˝˘ĚÉćéČ
˝ŕľÄŕAąĚXȢąĆÍmŠB
383:351
10/04/24 14:59:48
>>377
>ťĚ\˘ĚĚBÁďâś˝úÔĆĚkŠČ
ČéŮÇBąĚwWÍlŚéăĹĚQlÉČ蝤šB
˝žżĺÁĆßĚżâĚÓ}ĆáÁÄŤ˝ĚĹAżĺÁĆlŚźľÜˇB
384:ftHgĚźłľłń
10/04/24 15:06:31
>>381-382
łÁĹƞ夊H
˝ĆŚÎfŚÂČÇÉŤŢĆÇŇÉÍ
O[oIPŞíŠé($_SERVER["REMOTE_ADDR"])Ćv¤ĚšŞA
ťęđ[^Ap\RđVbg_EľČÄŕ
\tgĹČPÉĎŚçę˝çÖŠČHÁÄvÁ˝ĚĹEEE
ŕÁĆ[ËÁŢĆ
IPaçęÄľÜÁ˝čľ˝ęɡŽÉĎXĹŤęÎ
Ü˝XĹŤéŔáȢšŠ
ťę𾽢ńšEEE
385:ftHgĚźłľłń
10/04/24 15:09:03
>>384 Âá˘B
386:ftHgĚźłľłń
10/04/24 15:10:44
>>385
Âá˘ĹˇŠH
WinAPIžĆvÁ˝ĚĹEEE
387:ftHgĚźłľłń
10/04/24 15:11:55
>>384
IPĎŚéĆŠAťęČOĚâčžČ
lbg[NĚmŻĆŠAĆŠA1Šçâčźš
388:ftHgĚźłľłń
10/04/24 15:12:27
>>386 URLŘݸ(pc11.2ch.net)
389:351
10/04/24 15:36:11
WCuÉstrdupŞ čܡBstrdupÍŕĹmallocľÜˇBi>>351Ě(1)Éj
char *strdup(const char *s);
char* str = strdup("hogehoge");@//Šmۡé[ĚćĚTCYÍstrdup̨܊šI
printf("%s\n", str); //Ěá
free(str);@//freeŞKv~
ŻĚąĆđs¤my_strdupđěéąĆŕōܡBmy_strdupÍŕĹmallocľÜšńBi>>351Ě(2)Éj
void my_strdup(const char* src, char* dst, int size);
char str[100];@//ŠRs[ˇéśńćčĺŤČTCYĚ[ŞKv~
my_strdup("hogehoge", str, sizeof(str));
printf("%s\n", str); //Ěá
//freeÍKvȢI
iÉąj
390:351
10/04/24 15:37:17
i>>389ĚąŤj
ymy_strdupĚbgz
strdupÍAŕĹmallocđˇé˝ßAÄŃoľ˝ăAK¸freeŞKvÉČčܡB
ęűAmy_strdupČçAŠŽĎđřÉnšéĚĹAK¸ľŕfreeÍKv čÜšńB
ąĚ_ĹÍAmy_strdupĚűŞÖšBąęŞmy_strdupĚbgšB
ystrdupĚbgz
ľŠľAmy_strdupĹÍAśńSĚđRs[ľ˝˘ęA
łĚśńćčŕĺŤČTCYĚ[ĚćđnłČŻęÎAśńSĚđRs[ˇéąĆŞoÜšńB
ąĚ˝ßAmy_srtdupđÄŃoˇOÉAstrlenđg¤ČǾij̜ńĚTCYđméKvŞ čܡB
ęűAstrdupÍŕĹKvČTCYĚĚćđmallocˇéĚĹÄŃoˇOɳ̜ńĚTCYđméKvÍ čÜšńB
ąĚ_ĹÍAstrdupĚűŞÖšBąęŞstrdupĚbgšB
ČăÍśńĹĚáĹľ˝ŞA
\˘ĚâźĚf[^Ěćđľ¤ÖđlŚéĆŤÉŕ
ÄŃoľłĹ[đmŰľÄnˇŠA é˘ÍÖĚŕĹmallocˇéŠA
É¢ÄǤ˘¤ÉǤľ˝ç˘˘ĚŠAđlŚéąĆŞĹŤéŠĆv˘ÜˇB
ęĘIČwjŞ ęÎm轢šB
391:ftHgĚźłľłń
10/04/24 16:12:35
strdup()ĚfbgŞfree()đKvơéąĆĹÍł˘
IuWFNg𜏾˝çjüˇéĚÍRĚąĆĹ é(create/destroyĚÎŞĺŘ)
my_strdup()ĚbgŞŠŽĎđřÉnšéĆŠČńĆŠžÁĢéŞ
ŠŽĎĚĚ檍čȢęâŤˇŚŞKvČęAÇmŰŞKvĆČ芎ϪnšéąĆÍfbgĹľŠČ˘
˝ĆŚÎAWCuĚf*()É¢ÄlŚÄÝć¤
FILEŞNXĹfopen()ŞRXgN^Afclose()ŞfXgN^AťĚźĚf*()ÖŞFILECX^XÉΡébZ[WĆlŚęÎAf*()QÍáČIuWFNgwüđľÄ˘éĆŠÓßĹŤé
ąąĹAęÂĚwj𦻤
éIuWFNg𜏾bZ[Wđčjüšć
foo_t *foo;
foo = create_foo();
do_something_foo(foo);
destroy_foo(foo);
ÄołŞśŹĆjüđÎÉľÄs¤ĚŞÇ˘
ąĚÖWÍAstrupĹŕmy_strdupĹ௜ąĆÉČé
char *s = strdup(foo); /* create */
(void)s; /* do something */
free(s); /* destory */
char *t = malloc(bar); /* create */
my_strdup(foo, t, bar); /* do something */
free(t); /* destory */
my_strdup()Ş\[XĆfXgŞtĚmemcpy()Ý˝˘ĹCżŞŤ˘ĆžÁĨeXg
392:351
10/04/24 16:38:53
>>391
> strdup()ĚfbgŞfree()đKvơéąĆĹÍł˘
> IuWFNg𜏾˝çjüˇéĚÍRĚąĆĹ é(create/destroyĚÎŞĺŘ)
mŠÉR̹ƚBR̹ƚĚĹAťĚRĚąĆđYę˝ęA[ČoOÉČéƢ¤ĺŤČfbgŞ čܡB
> my_strdup()ĚbgŞŠŽĎđřÉnšéĆŠČńĆŠžÁĢéŞ
> ŠŽĎĚĚ檍čȢęâŤˇŚŞKvČęAÇmŰŞKvĆČ芎ϪnšéąĆÍfbgĹľŠČ˘
ŠŽĎĹâ誢ȢęĘĹÍAăLĚ[ČoOđđŻçęéƢ¤_Ĺ\ŞbgŞ čܡB
Â轢ąĆÍíŠčܡŞAęTÉßçęéŕĚĹÍȢĆv˘ÜˇB
áŚÎA>>391ĚĺŁĹÍAmemcpyÍfbgľŠł˘ąĆÉČÁľܢܡćËH
> ÄołŞśŹĆjüđÎÉľÄs¤ĚŞÇ˘
ǢĚÍíŠčܡBÂÜčAťęŞstrdupâA>>351Ě(1)ĚęšćËB
my_strdupÉmallocĹmŰľ˝[Ěćđ^ŚAgpăfreeˇéĚŕǢĆv˘ÜˇB
šŞAmy_strdupÉŠŽĎđnľÄ͢ŻČ˘Ć˘¤ąĆÉÍČçȢšćËHşLĚć¤ČR[hÍĘÉŠęéĆv˘ÜˇB
void func(const char* str)@//strÍ99śČşĚśń
{
@char buf[100];
@strncpy(buf, str, sizeof(buf));
@/*strÉΡé*/
@printf("%s\n", str);
}
ąęÍAáąÓIČᚪAąęÉŔç¸AŠŽĎĚ\˘ĚâzńÖĚ|C^[đÖÉnˇąĆÍęĘIÉsíęéąĆšćËB
393:351
10/04/24 16:43:53
>>392ĚůłĹˇBˇ˘ÜšńB
void func(const char* str)@//strÍ99śČşĚśń
{
@char buf[100];
@strncpy(buf, str, sizeof(buf));
@/*bufÉΡé*/
@printf("%s\n", buf);
}
394:ftHgĚźłľłń
10/04/24 17:20:21
>392
oO([N)ÉČéŠçŠŽĎg¤ĆŠÇꞯärßÄéńžć
CžęÍvO}CšžŠçťńȹƞ¤ć¤ÉČÁ˝çAŕ¤CžęÉGęȢűŞKšÉČęéć
ĘÉmemcpy()ŞfbgľŠČ˘__ÖĆÍžÁĢȢ
ęĘťľ˝˘ĆžÁĢéĚÉŠŽĎ}Z[ĆŠžÁĢéŠçžć
ŠŽĎ(IuWFNg)ÉÎľÄmempcy()(bZ[W)đÁĢéŞAĚćsŤâRs[ŞKvÉČÁ˝ĆŤÉÇ(Vľ˘IuWFNg)ŞKvÉČéĚČçĹŠçgÁĨŻÎ˘˘žë
ÂÜčAęĘIÉ éIuWFNgÉΡébZ[WĚřÉŠŽĎŞnšéŠçÁÄ𾢹ĆÍł˘žëĆ
memcpy()Í۾ߏĢéŠçŹľÄ˘éńžë¤
ĘÉAmy_strdup()ÉŠŽĎđnľÄ͢ŻČ˘ĆÍžÁĢȢ
ČĆ੮ϪnšéąĆŞbgÉÍČçȢľAęĘIÉlŚęΊŽĎđg¤ąĆÍfbgÉČéĆžyľ˝žŻĚąĆ
mŠÉAŠŽĎĹĚćâśśúÔŞŤčéĚĹ ęΊŽĎĹŕ\íȢ
ľŠľAęĘťľÄIuWFNgŞNÂKvČƍɢÁ˝ąĆÉČé
éęĘĹÍiÂKvĹAŠŽĎđiÂpӾȯęÎČçȢAÜ˝ éęĘĹÍjÂKvĹAŠŽĎđjÂpӾȯęÎČçȢ
śá Ai <= jžŠçAjÂpӾƯ΢˘âơéĚŠAiŞyŠÉjć菳˘ęłĘŞ˝˘Šçˇ×ŤĹÍł˘
ťńȹƾȢĹAKvČÉKvČžŻpÓľÄâęÎĎŢąĆ
ęĘťľ˝˘ĚŠďĚťľ˝˘ĚŠÇżçŠÉľÄŕçŚČ˘žë¤Š
395:351
10/04/24 17:40:07
>>394
\˘ĚâzńđÔˇÖđÝvˇéęĚęĘIČwjđßĢܡB
>CžęÍvO}CšžŠçťńȹƞ¤ć¤ÉČÁ˝çAŕ¤CžęÉGęȢűŞKšÉČęéć
CžęÍvO}CšžŠçąťAvO}[ŞAťĚXÉKŘÉAŠŽĎđnˇŠAmallocĹmŰľ˝[đnˇŠđI×éć¤ÉľÄ¨űŞKšĹľĺ¤B
šĚĹAŠŽĎđ}Z[ľÄ˘éíŻĹÍ čÜšńŞAŠŽĎđęŘnšČ˘ćčÍAnš˝űŞbgŞ éĆlŚÜˇB
ÂÜčAŠŽĎđęŘnšČŻęÎAŠŽĎđg˘˝˘vO}[ÉÍgŚÜšńŞ
ŠŽĎđęŘnšęÎAŠŽĎđg˘˝˘vO}[ÉŕAg˘˝Č˘vO}[ÉŕgŚéŠçšB
ąęÍ\ŞbgšB
ĆŕŠAŠŽĎđnšéŠÇ¤ŠÍAĄńĚżâĚ{żĹÍČA
\˘ĚâzńđÔˇÖđÝvˇéęĚęĘIČwjĆľÄA
(1)ÖŕĹmallocˇéĚĆA(2)ÄŃoľ¤ĹmŰľ˝[ĚćđóŻćéĚĆA(3)ťęČOĚű@iŞ ęÎjĆAĹ
Ǥ˘¤ÉǤˇé̪Ǣ̊Ƣ¤wjŞ ęÎm轢ĆvÁĢܡB
396:ftHgĚźłľłń
10/04/24 17:56:48
>Ǥ˘¤ÉǤˇé̪Ǣ̊Ƣ¤wjŞ ęÎm轢ĆvÁĢܡB
ȢćBâ誳˘ŔčDŤÉľÄćľR( L[M)m
397:351
10/04/24 18:05:31
uDŤÉľÄć˘vƢ¤ĚÍAÁÉîŞČ˘ĚĹťĚúĚCŞĹÇżçŠÉßéƢ¤ąĆšćËB
ť¤˘¤űjĚűŕ˘éƢ¤ąĆÍíŠčÜľ˝B čŞĆ¤˛´˘ÜˇB
ťęĹÍřŤąŤA>>389-390É¢ĽŠűjđ¨żĚűŞ˘Üľ˝çAşĐłŚÄžł˘B¨č˘ľÜˇB
398:ftHgĚźłľłń
10/04/24 18:24:44
WindowsĚAPIÍAmy_strdup()Ý˝˘Éi[ĚćĚAhXĆTCYđ
nˇC^tF[XŞ˝˘Ë
ĹAWindowsnĚvO}Íť¤˘¤ÖđÂéąĆŞ˝˘Ë
łďžŻÇüľČ˘ćË
p^ÍȢűŞ˘˘
399:ftHgĚźłľłń
10/04/24 18:38:23
>>389
Ćč Ś¸AstrdupÍáĆľÄKśáȢíČBÚIŞá¤ŠçB
PÉiĹĺĚjˇłŞŞŠÁĢéśńĚRs[Í
strcpyČčstrncpyČčđg¤B
ęĘ_ĹžÁÄAKRŤŞČ˘ęAmalloc;ȢB
ˇéęÍAĹÍ
Emۡ׍TCYŞŠíé
EXR[vđzŚéKvŞ é
źĚP[XÍvO}ĚrćĹ
R[hđVvɡé˝ßÉg¤B
Eřđ¸çˇ
EKvČĎđ¸çˇ
EC^[tFCXĚęĘť
ČÇČÇB
ÇÉŠMŞČ˘ČçâßĆŤB
˝žC}hLAťąÉŠMŞÄȢČç
CČńÄgíȢB
tÉžŚÎAťĚöxÍK{ČíŻĹA
žŠçuDŤÉˇęÎǢvÁÄÓŠŞoÄéB
400:ftHgĚźłľłń
10/04/24 19:25:00
>351
śŹĆđúđÎÉľëÁÄĚÍAî{űjĆľÄŕć˘Ćv¤B
ćÁÄAstrdupĚć¤ČÖÍAĹŤęÎg˘˝Č˘hB
strdupÍśŹĆđúĚŞíČČéB
>392
>> ÄołŞśŹĆjüđÎÉľÄs¤ĚŞÇ˘
>ǢĚÍíŠčܡBÂÜčAťęŞstrdupâA>>351Ě(1)ĚęšćËB
ąętžćËBstrdupđg¤ĆmallocŞŠŚČ˘ĚÉfreeľČżáČçȢB
strdupÍWÖžŠçÜľžŻÇAfunc0, func2, func4ŞÔˇ|C^Í
freeľÄËAĆŠžĆâÁÄçęȢB
âŻÉstrdupŞuTCYđCÉľČÄć˘vąĆިCÉüčĚ椞ŞA ÜĹŕŔřŞCstringĹ éꞯB
ąęÍŠŽĎŠAq[vĚćŠAĂIĎŠÉÍłÖWB
strnÖÍAI[śŞ éOńƢ¤§ŔŞ éB
ÄŃoľ¤ŞĚćđpÓˇéęÍARÄŃoľ¤ĹTCYŞíŠÁĢé͸ČĚĹA
ťĚĆŤÉłĘÉĚćđpӾȯęÎ梞ŻĹľĺB
401:ftHgĚźłľłń
10/04/24 19:32:16
}ÉŹęŞÁŹľÄĢ˝B
402:351
10/04/24 19:32:36
>>399
> ęĘ_ĹžÁÄAKRŤŞČ˘ęAmalloc;ȢB
> ˇéęÍAĹÍ
> Emۡ׍TCYŞŠíé
> EXR[vđzŚéKvŞ é
ąęÉÍŻÓšB
ÂlIÉÍŠŽĎĹĎŢęÍmallocÍgíȢć¤ÉľÄ˘ÜˇB
> R[hđVvɡé˝ßÉg¤B
> Eřđ¸çˇ
> EKvČĎđ¸çˇ
> EC^[tFCXĚęĘť
ąęÍAVvÉČéĚĹ ęÎAVvÉľ˝Ů¤Ş˘˘Ć˘¤ąĆšËB
ÂÜčA>>351Ě(1)ŞÂ\Ĺ ęÎAíÉ(1)ÉľëƢ¤ąĆšËB
űjĚęÂĆľÄQlÉłšÄ˘˝žŤÜˇB
403:ftHgĚźłľłń
10/04/24 19:34:03
ETCYŞĺČę
Ş˛ŻÄéČ
404:351
10/04/24 19:45:44
>>400
>śŹĆđúđÎÉľëÁÄĚÍAî{űjĆľÄŕć˘Ćv¤B
>ćÁÄAstrdupĚć¤ČÖÍAĹŤęÎg˘˝Č˘hB
ÂlIÉÍstrdupÍg˘ÜšńŞA
strdupŕstrdup-freeĹśŹĆđúĚÎÉČÁĢéĚĹâčȢĆv˘ÜˇB
inÎ1ĚÎČĚĹáąáa´Í čܡŞBj
>ąętžćËBstrdupđg¤ĆmallocŞŠŚČ˘ĚÉfreeľČżáČçȢB
˘˘ŚAÖĚĹmallocđs¤Ć˘¤_ĹAstrdupĆ>>351Ě(1)ÍŻśĹˇB
create_my_struct()ÉΡédelete_my_struct()ÍAstrdup()ÉΡéfree()šB
405:ftHgĚźłľłń
10/04/24 19:52:13
strdupÁÄźOŞCÉüçȢńśáȢĚ
"alloc" đÜńĹȢŠç
´ÍĘÉǤĹࢢĆv¤ŻÇ
406:ftHgĚźłľłń
10/04/24 20:00:01
ÖĚŔĚŞ˘ÄȢŠçA˝ĆྦȢË
407:ftHgĚźłľłń
10/04/24 21:35:25
>>398
ăĘݡđ۾ ver á˘đzűˇéę÷ĚôČĘŕ éË
APIđŔˇéŰunłę˝ť˛˝ŢŠçÇĚver ČĚŠŢEŞňĹŤév
y[WĹVX\ŚXbhĚőŢXębčĚj
[X¨ÜŠšXgĽIvVđ\ŚÉÂÔľ2ch
4989úOÉXV/245 KB
S:undef