ySҜ}zC/C++ ..
2:987
07/08/06 23:28:56
int errsv = errno;
int i,j,k,t;
int No1,No2;
int Rs[3500][20],Hn[3500]={0};
double u,x,y;
double Odds[3500][20],Poll[3500][20],Poll_S[3500][20],Poll_T[3500][20];
FILE *fpr,*fpw;
printf("%d\n",errsv);
ÅàÆÉȢŷB
BCCDeveloperÌâèÌCªµÄ«ÜµœB
XÇ€àŵœB
3:ftHgÌŒ³µ³ñ
07/08/06 23:29:47
>>1³I
œðµœç®©ÈÈÁœÌ©ªm蜢ÈB
Å«êÎfopenÆ©Ìßèlð`FbNµÄ~µ¢B
ÁÄ©A[JÏÅ©¢xnIÁÄ¿¶áÈ¢æÈH
4:ftHgÌŒ³µ³ñ
07/08/06 23:45:20
>>987
Rs,Hn,Odds,Poll,Poll_S,Poll_T
ðAÜžmallocÅm۵怺H
»êÅ_ŸÁœçÜœ¢æB
5:ftHgÌŒ³µ³ñ
07/08/06 23:54:22
URLØÝž(www.freewebs.com)
6:ftHgÌŒ³µ³ñ
07/08/07 00:00:50
>>OX986
> ]ÁÄAk|C^Íprintf()ÌøÆµÄūȢB
Å«éæB
printf("%p\n", (void*)0);
7:ftHgÌŒ³µ³ñ
07/08/07 00:38:42
printf("%p\n", NULL);
8:ftHgÌŒ³µ³ñ
07/08/07 00:46:05
>>7 »êAçߥ
9:ftHgÌŒ³µ³ñ
07/08/07 00:51:41
NULL Åv¢oµœñŸ¯Çà C++ ÁÄ NULL æèà 0 ðg€ûª¢¢ÌH
10:ftHgÌŒ³µ³ñ
07/08/07 01:04:50
>>9
Ç¿çÆàŸŠÈ¢B NULL g€ñÈçηéwb_ÌCN[hðYêžÉB
ÆÍ«ð©Ä©ªÈèÌŠðÇ€ŒB
URLØÝž(www.kouno.jp)
11:ftHgÌŒ³µ³ñ
07/08/07 02:21:49
>>9
C++ ÅÍ NULL Í 0 Æè`³êÄ¢éÆÍÀçÈ¢Bnè`B
Ÿ©çANULL ƢĚ¯ÎAnÉæÁÄÍ
int n = NULL;
Æ¢œÉG[©xðoµÄêé©àµêÈ¢B
12:ftHgÌŒ³µ³ñ
07/08/07 02:29:11
>>9
DÝÌâ蟩çAÇÁ¿ÅࢢæB
13:ftHgÌŒ³µ³ñ
07/08/07 02:49:37
>>11
G[Ío¹È¢B
14:ftHgÌŒ³µ³ñ
07/08/07 03:29:10
>>11
C Å௶ŸëB
15:ftHgÌŒ³µ³ñ
07/08/07 03:38:15
>>14
C Í 0 © ((void*)0) ŸÁµåB
C++ Í®SÉnè`ŸÁœÍžB
C99 ÅÏíÁÄœçmçñªB
16:ftHgÌŒ³µ³ñ
07/08/07 03:52:07
ñÜèdlÌÔðD€æ€ÈlŠû͵Ȣûª¢¢æ
17:ftHgÌŒ³µ³ñ
07/08/07 05:10:27
Ü[œNULLÌbè©
18:ftHgÌŒ³µ³ñ
07/08/07 07:21:45
|C^ÌÝÉK·éNULLðev[gÅÀµÄÝœ¯ÇÇ€æA
ÁÄbðœN©OÉ©œL¯ª éñŸ¯ÇADZũœñŸ©v¢o¹È¢
19:ftHgÌŒ³µ³ñ
07/08/07 07:42:53
|C^ÌÝÉK·éNULLðev[gÅÀµÄÝœ¯ÇÇ€æA
ÁÄbðœú©OÉ©œL¯ª éñŸ¯ÇADZũœñŸ©v¢o¹é
20:ftHgÌŒ³µ³ñ
07/08/07 07:53:17
>>15
Æè ŠžA C99 ÅÍnè`B
21:ftHgÌŒ³µ³ñ
07/08/07 10:57:05
³ŠÄ¢œŸ«œ¢±Æª éÌÅ·ª
BCCRQÉÄAjbgeXgðs€R\[Avð»ìµÄéÌÅ·ª
ºLÌæ€ÉÖ[AssertEqueal]ªÄÎêÄœêA
[AssertEqueal]àÅ\[Xt@CàÅÌsðæŸ·é±ÆÍÂ\ÈÌŵ倩H
Â\ÈçλÌû@ð³ŠÄ¢œŸ«œ¢ÌÅ·ª
void main()
{
AssertEqueal( a , b );
}
22:ftHgÌŒ³µ³ñ
07/08/07 11:10:59
__LINE__ðg€Æ©
23:ftHgÌŒ³µ³ñ
07/08/07 11:12:26
 __LINE__
AssertEquealÍ}NÖÅÀµÄB
24:ftHgÌŒ³µ³ñ
07/08/07 12:13:37
>>22,23
èªÆ€²Ž¢Ü·A³Àūܵœ[
25:ftHgÌŒ³µ³ñ
07/08/07 16:12:31
±Ì²qŸÆ __FILE__ àgÁÄÈ©ÁœèµÈ¢æÈB
26:ftHgÌŒ³µ³ñ
07/08/07 16:25:03
Èñ·©»ê
27:ftHgÌŒ³µ³ñ
07/08/07 16:32:41
__FILE__ Æ __LINE__ ÍZbgŸë[
¢Åɶñ»Zq # àÈ
28:ftHgÌŒ³µ³ñ
07/08/07 16:44:14
»ñÈñ éñÅ·©
29:ftHgÌŒ³µ³ñ
07/08/07 16:56:31
©A±ÌªŸÆÊÉassert()ðmçÈ¢ñ¶áÈ¢©
30:ftHgÌŒ³µ³ñ
07/08/07 17:17:36
assertmÁÄé¯ÇgÁÄÈ¢
ÖÈàñH
31:ftHgÌŒ³µ³ñ
07/08/07 17:29:21
»êÍmÁÄéÁÄŸíÈ¢
32:ftHgÌŒ³µ³ñ
07/08/07 17:36:19
assertmçÈ¢¯ÇgÁÄé
œ·éàñH
33:ftHgÌŒ³µ³ñ
07/08/07 17:46:47
¿åÁÆ©MÈ¢©ç²×Ä«œ
ÂÜèÍ
assert( ð )
ÁÄÉ¢ÄA±ÌðªfalseÉÈÁœç»±Å~ßÄêéÁıÆÅæëµ¢H
Åà[XÉ·éÆÇ€ÈéÌHèÉœ©Éu«·íÁÄêéH
34:ftHgÌŒ³µ³ñ
07/08/07 17:56:24
»ñÈñ#ifdef _DEBUGÆ©ÅéßÎæ©ë€
35:ftHgÌŒ³µ³ñ
07/08/07 18:01:18
assert Í NDEBUG ª #define ³êÄé©Ç€©ÅgªÏíéB
NDEBUG ª #define ³êÄ¢éÆ assert ÍœàµÈ¢B
NDEBUG ª #define ³êÄȯêÎAðª false ŸÁœç abort ·éB
36:ftHgÌŒ³µ³ñ
07/08/07 18:02:07
¡©çTNX
37:ftHgÌŒ³µ³ñ
07/08/07 18:04:15
>>35
Ç€à èªÆ€
38:ftHgÌŒ³µ³ñ
07/08/07 18:18:53
ÝñÈA}j
AÇà€È
39:ftHgÌŒ³µ³ñ
07/08/07 18:26:28
šOªêÔÇß
40:ftHgÌŒ³µ³ñ
07/08/07 18:34:51
abort()ÁÄUnixÆ©ŸÆRA_vðf¢ÄI¹·é̪ʟ¯Ç
Win+IDEÆ©ÅJµÄéÆfobKªN®µÄêœÙ€ªœ©ÆÖÈÌÅA
abort()ÁÄ ñÜÖ¶áÈ¢óKX
my_abort() { char **nullpo = 0; *nullpo = "Kb"; }
Ýœ¢ÈÌìÁÄAøÉSEGVN±µÄfobKN®³¹œÙ€ªÖ©à
áOàAX[³êœêªª©çȢƢ€Ó¡ÅÍA÷ÉðɧœÈ¢
ʪ éæËAC++ŸÆ
41:ftHgÌŒ³µ³ñ
07/08/07 18:44:34
>40
}NÅ__FILE__Æ__LINE__ðøÉæéáONXðìê΢¢©Æv€B
OÉKÉìÁœñŸ¯ÇÀÛÉgÁœ±ÆªÈ¢ÌÅg¢èÍÈñÆà¢Šñ
JavaÌprintStackTraceÝœ¢Ìª ê΢¢¯ÇË
42:ftHgÌŒ³µ³ñ
07/08/07 18:58:12
>>40
Visual StudioŸÆAassertàøÁ©©ÁœÆ«â
áOª°çêœ_ÅfobKÉÚêéŒB
X^bNÌóÔÍassertâthrow®Ì_Ìà̪©êéB
43:ftHgÌŒ³µ³ñ
07/08/07 19:26:30
>>41
X^bNg[X©ê鯻€ÅÈ¢ÆÅ껇۾ËB
>>42
A»€ŸÁ¯©BÈçA¯¶©ÈB
SEGVŸÆfobKªCXg[³êĢȢêÅàDr.g\oRÅ
RA_vªf©êé̪¢¢©ÈÆàv€¯ÇB
44:ftHgÌŒ³µ³ñ
07/08/07 19:34:57
>>41
struct pos_info {
const char* file;
int line;
pos_info(const char* file, int line) : file(file), line(line) { }
};
#define POS_INFO pos_info(__FILE__, __LINE__)
±¢ÂðøÉÆéÆ©B
45:ftHgÌŒ³µ³ñ
07/08/07 19:51:12
gccŸÆobNg[XæêéÝœ¢ŸÈ
URLØÝž(0xcc.net)
ÚA«à³àÈ¢ª
46:ftHgÌŒ³µ³ñ
07/08/07 20:52:56
·êᢩàµêܹñªAsÌœ¢àÌðRpC·éÆêèÈãÌãsª
\гêÈ¢ñÅ·ªA\г¹éÝèÍ éÌŵ倩H
47:ftHgÌŒ³µ³ñ
07/08/07 20:54:46
Ó¡ªí©çÈ¢ªAmoreðpCvÆ©
48:ftHgÌŒ³µ³ñ
07/08/07 20:55:33
êèÈãÌãsÁÄœÌæBG[bZ[WH
«ÍH
49:ftHgÌŒ³µ³ñ
07/08/07 21:07:53
«ÍwindowsXPÅCPadÆLSI C-86ðgÁĢܷB
e\[gÌÚ×È®«ð©œ¢ñÅ·ªAG[ÅÍÈ¢Æv¢Ü·ª
ºÌ\[XðÀs·éÆOPQRSWTUVX©çãª\гêÈ¢ñÅ·B
àŸªºèÅ·¢Ü¹ñB
50:ftHgÌŒ³µ³ñ
07/08/07 21:09:31
printf("%d",rand())
51:ftHgÌŒ³µ³ñ
07/08/07 21:09:33
±ÌØ[¶ÌðQlɵĢܷB
URLØÝž(www1.cts.ne.jp)
52:ftHgÌŒ³µ³ñ
07/08/07 21:10:48
»ÌØ[¶ÍQlɵÄÍ¢¯Ü¹ñB
53:ftHgÌŒ³µ³ñ
07/08/07 21:13:10
Â[©¡LSI C-86©
VS2005 ExpressÆ©ª^_ÅgŠéãÉ
54:ftHgÌŒ³µ³ñ
07/08/07 21:24:55
ŽnlÈñÅ·¢Ü¹ñ
55:ftHgÌŒ³µ³ñ
07/08/07 21:55:51
»±Ì\[X¢È
œŸÁÄéÌ©ª©çñªAShowDataÌÆ±ëðȺɫ·ŠœçÇ€Ÿ
void ShowData(int x[ ], int n)
{
int i;
for (i = 0; i < n ; i++)
printf("%d ", x[i]);
putchar('\n');
}
56:ftHgÌŒ³µ³ñ
07/08/07 22:21:51
gÑ©çžçµÜ·B
CŸêÌbÈÌÅ·ª¯¶^Ì
ñÂÌ\¢ÌðrbgZqÅ
är·é±ÆÍsÂ\ÈÌŵ倩B
EêųÁ«âÁÄÝœç
RpCG[BBB
57:ftHgÌŒ³µ³ñ
07/08/07 22:27:15
ÊÉwindowsÅàobNg[XÍæêé×
URLØÝž(www.codeguru.com)
58:ftHgÌŒ³µ³ñ
07/08/07 22:28:19
rbgZqÅärÁÄœæB
rbgZqÍär·éœßÌàÌÅÍ èܹñ
59:ftHgÌŒ³µ³ñ
07/08/07 22:34:16
ÈñŸ©AintÈçrbgZÅärªÅ«éÆÅࢢœ»€È56ŸÈ[
»èáAZpZàÉIÉÍrbgZŸ¯Ç³
60:ftHgÌŒ³µ³ñ
07/08/07 22:39:59
AZuŸêIÉÍ TEST œßª é©ç
rbgZÅärÆ¢€ÌàiVÅÍÈ¢¯ÇËB
61:ftHgÌŒ³µ³ñ
07/08/07 22:46:35
>>46
LSI C-86ÍgÁœ±Æà³droµÄÝé¯ÇAcnrRpCÈÌH
\ŠsªœÄAnßÉo͵œàeªcnrðãÉXN[µÄàܹ݊ñBÆ©H
62:56
07/08/07 23:29:26
ÆÉ¢œ>>56Å·B
µXðr곹ĵÜÁœæ€Å\µó èܹñB
struct point {
int a;
int b;
E
E
E
int z;
};
vzƵÄÍãLÌæ€È^ÌQÂÌϪ Áœê
oa¯mÅ_ÏiANDjZðs€
ob¯mð_ÏiANDjZðs€
E
E
E
oz¯mð_ÏiANDjZðs€
Æ¢€ªç·È޶ªµÄ
S¯¶\¢ÌÌ^=S¯¶rbgp^[Åͳ¢©H
ÈçÎÛ²Æ_ÏiANDjZÍÀsūȢŸë€©H
ÆvÁœæÅ²Ž¢Ü·B
63:ftHgÌŒ³µ³ñ
07/08/07 23:32:35
n¹É1žÂâ鵩ȢB
64:ftHgÌŒ³µ³ñ
07/08/07 23:35:31
>>62
àµint aÆ©ªPrbgµ©gÁĢȯêÎrbgtB[hðg€èà éB
ÆÍ¢ÁÄàAÊÉæÁÄÍÇœs©KvÉÈéí¯ŸªEEE
65:ftHgÌŒ³µ³ñ
07/08/07 23:36:39
void memand(void *a, const void *b, size_t n)
{
char *pa = a;
const char *pb = b;
size_t i;
for (i = 0; i < n; i++) {
*pa++ &= *pb++;
}
}
Ýœ¢ÈÌðìÁÄg€Æ©B
66:ftHgÌŒ³µ³ñ
07/08/07 23:52:05
»êÅ¢¢ÈçmemcmpÅ¢¢ŸëB
Åà\¢ÌÉÍpfBOªüéÂ\«ª éÌÅ
KiãÍ®ìªÛسêÈ¢B
âÁÏo²ÆÉär·éÌªæ¢ÆvíêB
67:ftHgÌŒ³µ³ñ
07/08/07 23:54:46
_ÏH@&&ÌûHA
left.a && left.aÆ
left.b && left.bÆ
...
»êŒêÌÖWªí©çÈ¢EEE
a-zÜÅð³çÉÜœ&&ų¹éÌH
68:56
07/08/08 00:15:37
56Å·B
>>67³ñ
_ÏÆ¢ÄµÜÁĬ³¹ÄµÜÁœæ€Å·ª
rbgANDZq(&)ðzèµÄ¢Ü·B
\¢ÌAÌoa-zÍ
tO(0x01 or 0x00)ƵÄÓ¡ð¿
»êÉåµÄ\¢ÌBÅpÓµœoa-z(0x01 or 0x00)
ðeo¯mrbgANDZq(&)ÅZðsÁÄ
tOðcµœèAƵœèÆ¢€ðµœ©ÁœèµÄܵœB
69:ftHgÌŒ³µ³ñ
07/08/08 00:19:07
êÂÌÏÉ¡ÌtOðœ¹é©A»€¢€ÖìéªêÔ¢¢Æv€B
70:56
07/08/08 00:20:19
56Å·B
vŠÎ¯¶^Ì\¢ÌÅàÛ²ÆãüͳêĢȢ
±ÆðlŠêÎÛ²ÆrbgZà¿åÁƳÈbŠ鱯Í
XlŠêÎí©é±ÆÅµœBBB
AhoCXŸ³ÁœFlÇ€à èªÆ€²Ž¢Üµœ@^œ
71:ftHgÌŒ³µ³ñ
07/08/08 00:23:55
bitset.hÌæ€ÈbH
72:ftHgÌŒ³µ³ñ
07/08/08 00:31:10
>>70
vŠÎ¯¶^Ì\¢ÌÅàÛ²ÆãüͳêĢȢ
ÊÉÅ«é¯ÇB
--
struct {int a; int b;} a = {1, 2}, b;
b = a;
73:ftHgÌŒ³µ³ñ
07/08/08 00:31:35
>>70
\¢ÌÛ²ÆÌãüͳêÄéæñB
ãüµ©³êÄÈ¢¯ÇB
74:56
07/08/08 00:44:30
\¢ÌÛ²ÆÌãü
šOObœçÊÉoÄ«œBBB
³mÅ\µóȢŷ
75:ftHgÌŒ³µ³ñ
07/08/08 05:24:03
while (str != null) {
hoge
)
Ýœ¢ÈÖÉ¢ÄÈñÅ·ªA
ÈñÅstr != nullÅ®ñÅ·©?
¶ñÌIíèÍnull¶áÈÄA¥0¶áÈ¢ñÅ·©?
nullͳøÈAhXÅA
¥0ÆÍá€Ó¡¶áÈ¢ñÅ·©?
76:ftHgÌŒ³µ³ñ
07/08/08 05:37:27
á€Ó¡ŸËB
Ÿ©çA¶ñÌIíèð»è·éR[h¶áÈ¢ñŸë€B
77:ftHgÌŒ³µ³ñ
07/08/08 05:45:48
>>75
strͶzñÖÌ|C^ÅA
ܳÉstrª³øÈAhXÅÈ¢Ô[vðñ·R[h¶áȢ̩H
strÌ^ðmFµÄÝéñŸB
78:ftHgÌŒ³µ³ñ
07/08/08 07:07:03
àµ
#define null '\0'
Å êÎAÌR[hÍ
while (*str != null) {...}
ÌÍžÈÌÅAÙÚÔá¢Èu³µ¢R[hvŸë€B
œŸAnullÅÍÈNULLŸë€ÈB
79:ftHgÌŒ³µ³ñ
07/08/08 08:34:24
>>76
>>77
>>78
í©èܵœ!
80:ftHgÌŒ³µ³ñ
07/08/08 09:04:05
ÝîAoCgÈç`bgfBªIXXB
ÍÁ«èŸÁıñÈÉyÅ©RÅûüÌAoCgÍ
èܹñBào±ÒÅ·ÌÅ©Mª èÜ·B
ºLÌTCgÉÚµàŸµÄ èÜ·B
URLØÝž(www2.atpages.jp)
81:ftHgÌŒ³µ³ñ
07/08/08 09:28:53
RUÎÆgj«Åàåūܷ©H
82:ftHgÌŒ³µ³ñ
07/08/08 10:33:24
86ÎÅ·ªåūܷ©H
83:ftHgÌŒ³µ³ñ
07/08/08 10:48:59
QPÎÆgj«¥·éCȵÅàåūܷ©H
84:ftHgÌŒ³µ³ñ
07/08/08 13:25:12
>>81
©œÚƺªfBÈçAA\RÍÇ€ÈÁÄ¢Äà\¢Ü¹ñB
>>82
86ÎÍbNXÌÊŵµµ¢Æv¢Ü·ªA
nÌ£ÍÆ£ÍIȺª êÎåäv©Æv¢Ü·B
>>83
NÍÖW èܹñµA¥è]ÍÈ¢ûªDܵ¢Å·ËB
œŸµA©œÚƺÍiLÍMjÅÈ¢Æ_Å·B
85:ftHgÌŒ³µ³ñ
07/08/08 13:25:38
R`CÅ·BL³ñªD«Å·AÅà]E³ñÌûªà§ÁÆD«Å`·ô
86:DEFORTÌŒ³µ
07/08/08 20:27:50
¿åÁƿⵜ¢ñŸªÇ±©ÌTCgɳ¿ÌCÌRpCÈ¢©È
mÁÄ¢élª¢œç³ŠÄô
87:DEFORTÌŒ³µ
07/08/08 20:30:16
±êÍX¿ª¢H
88:ftHgÌŒ³µ³ñ
07/08/08 20:32:36
MinGWƩVisualC++2005ExpressEditionƩ
89:ftHgÌŒ³µ³ñ
07/08/08 20:49:29
gcc
90:ftHgÌŒ³µ³ñ
07/08/08 20:51:20
OS碱€â
WindowsXPH
91:ftHgÌŒ³µ³ñ
07/08/08 21:05:57
>>86-87
Ù·¬Å΀ƱŷæËH
92:ftHgÌŒ³µ³ñ
07/08/08 21:14:13
DEFORT ¶áÈÄ DEFAULT ŸæÈ
93:ftHgÌŒ³µ³ñ
07/08/08 21:17:27
W
94:ftHgÌŒ³µ³ñ
07/08/08 23:24:39
¢Â©ÌbŸêÌSÒü¯ÌÐð¢Â©ÇñÅCÉÈÁœª éÌÅ·ªA
%d â %s ÈÇÌÄÑûªÐÉæÁÄuÏ·wèqvâuÏ·dlvÆá¢A
ÇñÈðÅÏíÁÄ¢éÌ©²×Äà»çž¢ÁĢܷB
±êÍÇ¿ç©ÔáÁÄ¢éÌŵ倩H
95:ftHgÌŒ³µ³ñ
07/08/08 23:29:51
uÏ·wèqvÍ d Æ© s ƩϷû®ð\·¶ÌÝðw·B
uÏ·dlvâuÏ·wèvÍ % ÅnÜèuÏ·wèqvÅIíéSÌð\·B
96:ftHgÌŒ³µ³ñ
07/08/08 23:34:13
>>94
ÈœªÔáÁĢܷB
97:ftHgÌŒ³µ³ñ
07/08/08 23:35:23
OS:RHEL4
Ÿê:C
â蜢±Æ:
#include <openssl/sha.h>
unsigned char *SHA1(const unsigned char *d, unsigned long n, unsigned char *md);
±¢Âðg¢œ¢B
±êÁÄA.soÉè`³êÄÈ¢ÌH/usr/lib/libssl.aɵ©È¢H
EVP_xxxðg€×«ÈÌ©BBB
98:94
07/08/08 23:41:28
>>95
èªÆ€²Ž¢Ü·A©èÜ·B
99:ftHgÌŒ³µ³ñ
07/08/08 23:48:46
>>97
URLØÝž(www.ipa.go.jp)
100:ftHgÌŒ³µ³ñ
07/08/08 23:54:48
>>99
îñAKgB
ÅàA±êÁÄRFCÅŠ³êœSHA1ÌÀáÅ·æËH
RHEL4ÌWCuÅÀ»Å«È¢©È[ÆvÁÄ¢éÌÅ·B
opensslR}hâAsha1sumR}hÅÀ»Å«éÌͪ©ÁÄ¢éÌÅ·ªA
©vZXàÅAWiHjÖðgÁÄSHA1ÌnbV
l🜢ÌÅ·B
K}}Å·ÝܹñB
101:97
07/08/08 23:57:40
ÇLB
libssl.aðN·êÎÇ¢ÌÅ·ªA
libgnutils-openssl.soÆ© éÌÅA€LCuŜƩÈçñÌ©È[ÆB
102:ftHgÌŒ³µ³ñ
07/08/09 00:03:41
íŽíŽÊ|ȱƵÄCugíñÅàA»êRsÁÄgŠÎ¢¢Æv€ªEEE
±ŸíéRªí©çñB
103:ftHgÌŒ³µ³ñ
07/08/09 00:04:36
\[XªÅ©ÈéÌâ¶áȢŷ©H
104:ftHgÌŒ³µ³ñ
07/08/09 00:06:30
sha.h@ݯœ
URLØÝž(mist.suenaga.cse.nagoya-u.ac.jp)
105:ftHgÌŒ³µ³ñ
07/08/09 00:08:29
>>104
C++Á·ËBBB
¿ÈÝÉAÌåÈégoogleæ¶ÉæéÆ
URLØÝž(www.google.co.jp)
±ÌÓªoÄéÌÅ·ªBB
106:ftHgÌŒ³µ³ñ
07/08/09 00:10:05
>>103
1ÂÌt@CÉSvOð¢Ä鯩H
107:ftHgÌŒ³µ³ñ
07/08/09 00:18:55
>>106
¢Š¢ŠB
àµùÉWCuƵÄRHEL4ÅñµÄ¢éÌÅ êÎA»êðgÁœûªÇ¢ÆvÁÄéÌÅ·B
javaÅàbZ[W_CWFXgÌNXjava.security.MessageDigestª èÜ·µB
Å«êÎWÅñ³êÄ¢éàÌÉæÁ©èœ¢©ÈÆB
CÆjavaÅÍ»à»àvzªá€ÆŸíêœç»€©àmêܹñªBBB
108:ftHgÌŒ³µ³ñ
07/08/09 00:23:16
ÏÔ!ÏÔIÏÔII
109:ftHgÌŒ³µ³ñ
07/08/09 00:30:48
>>108
»€H
110:ftHgÌŒ³µ³ñ
07/08/09 00:33:06
·ÝܹñAÇÈœ©³ŠÄž¯È¢Åµå€©B
CŸêÅAȺÌàÌð쬵œÌÅ·ªA
int *name[] = {
"satou",
"takahashi",
"suzuki",
};
±ÌÉ*name[]ÉüÁœzñÌðméÉÍÇ€µœçǢŵ倩B
iãLÌêA©ªÅÍu»êŒê̶ñÌæªÌ|C^ª3ÂüÁÄ¢évÆ¢€F¯Å·j
111:ftHgÌŒ³µ³ñ
07/08/09 00:33:42
sizeof name / sizeof name[0]
112:ftHgÌŒ³µ³ñ
07/08/09 00:37:03
>>111
zñÌðméªoܵœB
èªÆ€²Ž¢Ü·B
113:ftHgÌŒ³µ³ñ
07/08/09 00:38:10
ŠÁÆAȺint *H
char * name[] = { "hoge", "hogehoge", "hogehogehoge" };
sizeof ( name ) / sizeof ( char * )ÅRªŸçêéB
114:ftHgÌŒ³µ³ñ
07/08/09 00:38:47
int *ÌzñÈ̪CÉÈéªEEE
char *¶á³ÄH
[mona@fedora7 tmp]$ cat test.c
#include <stdio.h>
int main(int argc, char **argv){
int *name[] = {
"satou",
"takahashi",
"suzuki",
};
printf("%d\n", sizeof(name) / sizeof(int *));
return 0;
}
[mona@fedora7 tmp]$ gcc test.c
[mona@fedora7 tmp]$ ./a.out
3
115:ftHgÌŒ³µ³ñ
07/08/09 00:39:46
ÝñÈAÈPÈâèŸÆvÁÄAXª¢æII
116:ftHgÌŒ³µ³ñ
07/08/09 00:41:55
ÊXɜ̩ƚàœ
117:110Å·
07/08/09 00:47:09
©ªÌF¯ÅÍname[]ÖÍA
[satouÖÌ|C^]
[takahashiÖÌ|C^]
[suzukiÖÌ|C^]
c
ŵœÌÅAªŠœêÌðlŠÄA
int^Å韵œûªÇ¢Æv¢A
int^Å韵ܵœB
±ÌÓèªBŵÄB\µó èܹñB
118:ftHgÌŒ³µ³ñ
07/08/09 00:50:06
FlËÁÝÇ€Œ
119:ftHgÌŒ³µ³ñ
07/08/09 00:52:05
>>117
ª¢çŠæ€ªAchar *àint *àKvÆ·éÍÏíèÈ¢B
ÁÄ©Aname[]ÉQTUðŽŠé|C^ði[·é±ÆðlŠÄintɵœÌ©H
ŸÆµœçµšá¢µÄ¢éŒB
120:100Å·
07/08/09 00:54:21
·ÝܹñA\[X©ÄÝœçchar^Å韵ÄܵœB
int^ÉÏXµÄRpCµÄݜƱë
åÊÌwarningªoܵœB
iG[àeFwarning initialization incompatible pointer typej
šª¹µÄ\µó èܹñB
121:ftHgÌŒ³µ³ñ
07/08/09 00:56:05
>>117
|C^ªwµŠ·lÌ^ªintÈçint*ðg€µcharÈçchar*ðg€
wµŠµœæÌ^ª\¹élÌÍÍÍáÁÄà|C^©ÌÌTCYÍint*Åàchar*Å௶
122:110Å·B
07/08/09 00:58:30
ª·Ýܹñ>>120 = >>110Å·B
char^ÌzñðA
name[] ={...}àÉüÁÄ¢éªðmÛ·éÆ¢€ÅǢŵ倩B
123:ftHgÌŒ³µ³ñ
07/08/09 00:59:34
"satoru"
ÍA¶ñeÆÄÎêéàÌÅ·B«ÉàæèÜ·ªA
«ÝsÂÌÌæÉmÛ³êÜ·B
ÅA±êÍchar^ÌzñAöª'\0'ƵÄ\»³êĢܷB
ÈÌÅA
char *name[] = {"satoru", "takahashi"."suzuki"};
ÌÓ¡ÍA
PD«ÝsÂÌæÉmÛ³êÄ¢é"satoru"A"takahashi"A"suzuki"ÌRÂ̶ñeª éB
QDvfRAÅchar^ÖÌ|C^Ìzñiname)ªX^bNiHjÉmÛ³êAe|C^ÍA
@@PDÌ"satoru"A"takahashi"A"suzuki"»êŒêÌæªÌê¶ÌAhXðw·æ€Éú»³êé
Å·B
117ÍCÉš¯é¶ñÌ\»û@É¢Äî{ªª©ÁĢܹñBªñÎÁÄ¿åB
î{ðð·éÌÍÓOÆïµ¢Å·B
124:ftHgÌŒ³µ³ñ
07/08/09 01:01:07
á€Bchar *ð{...}ÌÉ évfŸ¯zñƵÄmÛ·éB
Ÿ©çAºÌñÂÍnameÅmÛ·éͯ¶B
char * name[] = { "a", "b" };
char * name[] = { "aaaaaaaaaa", "bbbbbbbbbb" };
125:110Å·
07/08/09 01:15:45
FlÖ
JÈ²àŸ èªÆ€²Ž¢Ü·B
žÁƱ̪ÅG[ðf¢Ä¢ÄA
€Ü®©žYñÅ¢œÌÅ·ªAâÁÆ®«ÜµœB
Ç€µÄG[ªoÄ¢œÌ©àðūܵœiÆv¢Ü·cjB
èªÆ€²Ž¢ÜµœB
126:46
07/08/09 04:02:22
>>61«ÝðxÈèܵÄ\µó èܹñŵœB
>>nßÉo͵œàeªcnrðãÉXN[µÄàܹ݊ñBÆ©H
»ÌÆšèÅ·Bœ©Î@ª èܵœçºÐ³ŠÄŸ³¢æëµšè¢µÜ·B
127:ftHgÌŒ³µ³ñ
07/08/09 04:06:27
ÇñŸ¯`
128:ftHgÌŒ³µ³ñ
07/08/09 07:55:37
>>126
àDOSðcÉø«LεÄÝÄÍ@œÅµå€©B
œ¢ÍA_CNgÅt@CÉÆµÄGfB^ũ鯩A
pCvCÅmoreÉq¢Å©éÆ©B
ÁÄAÇ€©ÄàŸêl^¶áÈ¢ËB
129:ftHgÌŒ³µ³ñ
07/08/09 11:02:45
>>97
€¿ÌUbuntunÌLinuxÉÍ /usr/lib/libssl.so ª éñŸºB
130:ftHgÌŒ³µ³ñ
07/08/09 11:34:48
>>126
ÜÛÀvO~OÈOÌâèŸÈ
131:ftHgÌŒ³µ³ñ
07/08/09 13:18:07
¶ãÌACRENbNKèlCAEgæÊobt@ÌTCY³ ðâ·Æ©
132:ftHgÌŒ³µ³ñ
07/08/09 13:22:16
>>126
oÍðeLXgt@CÉ_CNg·éÆ©
bcc32 -Etest.txt test.cpp > result.txt
133:ftHgÌŒ³µ³ñ
07/08/09 16:49:44
t@CüoÍÅ¿âÅ·B
t@CÛ¶Ì_CAOðoµÄAKÈÆ±ëÉÛ¶µÄ
ÜœÊÉfopen("test.txt", "w");
ÅÛ¶·éÆAÛ¶_CAOªoÄœtH_ÉÛ¶³êĵ܀ÌÅ·ª
±êðAÀst@CƯ¶tH_ÉÛ¶·éæ€Éµœ¢ñÅ·¯Ç
Ç€·ê΢¢Åµå€©H
134:ftHgÌŒ³µ³ñ
07/08/09 17:13:51
JgfBNgðÀst@CÌ éfBNgÉ·ê΢¢ñ¶áÈ¢ÌH
135:ftHgÌŒ³µ³ñ
07/08/09 17:20:44
>>133
ÂÜè[UÍ_CAOÅÛ¶fBNgàÜßÄÛ¶æðw赜ÌÉ
»êð*³*µÄÀst@CƯ¶fBNgÉ*³âè*Û¶µœ¢
ÁıÆH
[U ÀÉ¢IJ×ÄÝ鯢¢Æv€æ
UnixÍŸ€ÉyΞAWindowsÅ ÁÄàVistaÅ͵µÈÁœæ€Ÿ©ç
136:135
07/08/09 17:24:09
A
> ÜœÊÉfopen("test.txt", "w");
> ÅÛ¶·éÆA
Æ¢Ä é©çA[UÉwè³¹œÌÆÍ³ÖWÉAvOª
èɱµçŠét@CÌb©H
ŸÁœçA©ªÅÀst@CÌfBNgðæŸµÄA
tpXÅwè`BJgªÇ±Ÿ©ª©çȢ̟©çB
ÆÍŸŠAp[~bVÉÍÓBUnixÈçàÆàÆ»€¢€ÝvÍ_OÈB
137:ftHgÌŒ³µ³ñ
07/08/09 17:27:59
>>134
>>135
AhoCX èªÆ€²Ž¢Ü·B
_CAOÅÛ¶·éàÌÆAfopenÅÛ¶·éàÌÍÊÌàÌÈñÅ·B
œŸ_CAOðo³È¢ÅÛ¶µœ¢ÈÆv¢ÜµÄB
œŸPÉAfopenÌÝÌvOŸÆÀst@CÌÆ±ëÉÛ¶Å«œÌÅ·ª
_CAOšfopen@ÌÅÀsµœç_CAOÅÛ¶µœtH_ÉêÉÛ¶³êĵÜÁœñÅ·B
JgfBNgðÀst@CÌ éfBNgÉ·ê΢¢ÆÍvÁœñÅ·¯Ç
âèûªí©èܹñŵœB
138:ftHgÌŒ³µ³ñ
07/08/09 17:29:46
GetModuleFileName()ÅexeÌt@CŒðæê
139:ftHgÌŒ³µ³ñ
07/08/09 17:31:32
>>133
OFN_NOCHANGEDIR
140:ftHgÌŒ³µ³ñ
07/08/09 17:32:31
int main(int argc, char *argv[])
ÁÄâéÆAargv[0]ÉÀst@CŒªüéæ
141:ftHgÌŒ³µ³ñ
07/08/09 17:37:02
>>140
±ÌêA»Ì±ÆÉœÌÓ¡ª?
ܳ©Aargv[0]ÉKžtpXªüÁÄ¢éÈñÄ\VCȱÆðzµÄœèµÜ¹ñæË?
142:ftHgÌŒ³µ³ñ
07/08/09 17:44:13
>>141
tpXªü鿀ÉR}hCðüÍ·éñŸæ
åäv©H
143:ftHgÌŒ³µ³ñ
07/08/09 17:45:26
>>142
AvÌsÅAv̶ݷéfBNgɱµçŠét@CÌœßÉ
œÅ[UªAvÌN®û@ðw}³êȯêÎÈçȢ̟뀩
144:133
07/08/09 17:48:56
Ýȳñ èªÆ€²Ž¢Ü·B
>>139³ñ
ÌâèûÅ𢜵ܵœB
ŒÉàFXÈÄðoµÄàçÁœÌÅêÂêµĢ«œ¢Æv¢Ü·B
èªÆ€²Ž¢ÜµœI
145:ftHgÌŒ³µ³ñ
07/08/09 17:49:28
argvâJgfBNgÉŒèðuÌͳfUC
146:ftHgÌŒ³µ³ñ
07/08/09 17:50:46
>>144
»ê¶áAJgªexeÌfBNgƯ¶¶áÈ¢Æ
Ó¡³¢æBmÀÉexeª¶Ý·éÌÆ¯¶êÉt@Cðì蜢Èç
tpXwè·éµ©È¢B
147:ftHgÌŒ³µ³ñ
07/08/09 17:58:50
GetModuleFileName()ÅtpXðŸÄ
_splitpath()ŪðµÄ
sprintf()ÅÆ©Ç€H
148:ftHgÌŒ³µ³ñ
07/08/09 18:09:56
_
149:ftHgÌŒ³µ³ñ
07/08/09 18:23:43
exeƯ¶tH_É«à€Æ©vÁÄ¢éÆA
VistaÌUACÅÍÜé©àB
»±ÉéÜÅ̹ÌèÍ·¢Ÿë€¯ÇËB
150:ftHgÌŒ³µ³ñ
07/08/09 18:29:17
œð³à©ªªêJµœ©çÁÄ
151:ftHgÌŒ³µ³ñ
07/08/09 18:38:38
>>150
kÉsÌÉìÉoR·éæ€ÈlÈñŸ©çGêÄâéÈ
152:ftHgÌŒ³µ³ñ
07/08/09 18:56:11
>>150
u³àvÌg¢ûªš©µ¢
153:133
07/08/09 19:02:17
·¢Ü¹ñBŸßŵœËB
>>147
ÌlÈŪðµÄstrcatŵÄ
»êÁÛ¢®«ÉÈèܵœB
154:ftHgÌŒ³µ³ñ
07/08/09 19:50:02
t@C_CAOÅIðµÄÊt@CÉÛ¶AAA
C#ÌXÅÜÁœ¯¶¿âª ÁœÈAµ©à¯¶ú
ÇÁ©ÌÛè©ÈÉ©È̟뀩
155:ftHgÌŒ³µ³ñ
07/08/09 19:51:14
œŸÌ}`Ÿë
156:ftHgÌŒ³µ³ñ
07/08/09 20:16:59
¢âAŸÁÄŸê်H
157:ftHgÌŒ³µ³ñ
07/08/09 20:17:54
Eà¶àª©çÈ¢ñŸë€
158:ftHgÌŒ³µ³ñ
07/08/09 20:21:21
€[ñAü€ÍC#Ì\[XoµÄœµ
ðÌdûàðµœàဩç
¯¶lÆÍvŠÈ¢È
¿âÒÉí ©µµÄÙµ¢Æ±Ÿª
159:ftHgÌŒ³µ³ñ
07/08/09 20:36:30
t@C_CAOÈñÄæ é¿â¶áñB
160:ftHgÌŒ³µ³ñ
07/08/09 20:40:44
S¯¶zŸë
161:ftHgÌŒ³µ³ñ
07/08/09 23:17:50
ïsðZÔÅC³·évOÌ
JÁÄﵢŷ©H
162:ftHgÌŒ³µ³ñ
07/08/09 23:21:06
ïsÆZÔÆC³Ìè`æ
163:ftHgÌŒ³µ³ñ
07/08/10 01:35:49
¢Â©çzñÌè`ÌvfÉϪgŠéæ€ÉÈÁœñH
99N©çH
void func(int n){
@int array[n];
@:
}
ƩBBB
164:ftHgÌŒ³µ³ñ
07/08/10 01:36:20
C99 ©ç
165:ftHgÌŒ³µ³ñ
07/08/10 01:37:50
âÏèBŠXÇàB
ÂlIÉÍ»Ìdl̀굢B
166:ftHgÌŒ³µ³ñ
07/08/10 01:44:37
>>165
±±ðQl
URLØÝž(seclan.dll.jp)
167:ftHgÌŒ³µ³ñ
07/08/10 01:49:43
longjmp·éÆ[N·éÂ\«ª é©çACð¯œÜÖ
168:ftHgÌŒ³µ³ñ
07/08/10 08:39:01
C99ÆC/C++ÍÝ·«³¢©çÊXɪ¯œûª¢¢Æv€B
169:ftHgÌŒ³µ³ñ
07/08/10 08:51:48
ÂÏø}NÍñC99nÉà¥ñAüµÄ~µ¢
170:ftHgÌŒ³µ³ñ
07/08/10 09:01:38
fŒÉC99gŠÎ
171:ftHgÌŒ³µ³ñ
07/08/10 09:01:53
>>168
C Æ C++ pÉ»êŒêêpXª éŸëBâèª êÎU±·ê΢¢B
172:ftHgÌŒ³µ³ñ
07/08/10 09:18:08
stringstreamÉAt@C(ifstream)Ìgðæ¢û@Í èÜ·©H
Æè Šž©ªªlŠœû@ŸÆA
std::ifstream ifs(...);
std::stringstream ss;
while (!ifs.eof())
{
@@char buf[1024];
@@ifs.read(buf, 1024);
@@ss.write(buf, ifs.gcount());
}
±ñÈŽ¶Å·B±ñȱÆð·éRÍA
ifstream©çstd::getlineðµÄ1sžÂ·évOÈÌÅ·ªA
stringstreamÉSüêœãAstd::getlineðµœûªA{Èã¬ÉÈé±Æð©µœ©çÅ·B
»êÆàAàÁÆøŠÌÇ¢û@Í èÜ·©H
173:ftHgÌŒ³µ³ñ
07/08/10 09:25:09
>>172 ss << ifs.rdbuf();
174:ftHgÌŒ³µ³ñ
07/08/10 10:44:50
ifstream ifs("dir_name");
if ( ifs.fail() ) { return 0; }
if ( ifs.isDirectory() ) { }
Ýœ¢ÉWCuŸ¯Å
fBNg©Û©ð»è·é±ÆÁÄůܷ©H
ÆAfBNgàÉ éSt@CÌŒOæŸÝœ¢È±ÆÍ
WCuŸ¯Åůܷ©H
175:ftHgÌŒ³µ³ñ
07/08/10 10:50:52
>>172
pubsetbuf()Åobt@Å©æÁÆÆAêÊÉͬÈéÆúÒ³êéñŸªA
gccÌÈÆàâo[WÅÍAopenÏÝÌstreambufÉ
pubsetbuf()ðÀsµÄàAœHíÊçðµÄ³Ìobt@ðg€æ€ŸB
mmap()µœ|C^ðstrstreamÉ»ÌÜÜËÁÞ̪œªêÔ¬¢ªA
ÚA«É¯éãÉstrstreamªdeprecatedÈ̪lbNŸÈB
stringstreamÌstroðg€Æ¹Á©mmap()µœàÌð
íŽíŽRs[µÄµÜ€µA
stringstreamÌpubsetbuf()àLøÆÍÀçȢ怟B
(ÈÆàVC++ÅÍœRÆVJg³êéj
>>173
»êLqªÈPÅ¢¢ñŸªAÈÆà
VC++ÌostreamÀÆ©ŸÆAåµÄ¬³³»€ÈñŸæÈB
sgetc()/snextc()ÆAsputc()gÁÄ1¶žÂRs[µÄéµ
÷ɳÊÌœ¢R[hÉÈÁÄéñÅA
ºè·èáè«1¶Rs[ñµœµœÙ€ªÜŸ¬¢©àµêñB
176:ftHgÌŒ³µ³ñ
07/08/10 10:52:02
>>174
ÇÁ¿àŸß
fBNgÌÈ¢t@CVXeà éñÅACâC++ÌWÍ
fBNgªçÝðêØµÁĢȢ͞
177:ftHgÌŒ³µ³ñ
07/08/10 10:57:35
>>168
C99ÍCÅ ÁÄA
Ý·«ªÈ¢ÌÍCÆC++
178:RꪩÈÄà«ÁÆN©ª
07/08/10 10:58:24
>>176
»±ÅboostÅ·æB
179:ftHgÌŒ³µ³ñ
07/08/10 11:12:01
>>178
³_»ñȱÆÍmÁÄ¢éªA>>174ÍuWCuŸ¯vÆ
2xವĢéñŸµAñWÌû@ª 鱯®ç¢ÍmÁÄÄ
·¢ÄéñŸë
180:175
07/08/10 11:23:23
²ßñ ÙȱƢœ
> stringstreamÌpubsetbuf()àLøÆÍÀçÈ¢
»à»àpubsetbuf()ðüÍðHí¹éÌÉgŠéÍžªÈ¢È
181:ftHgÌŒ³µ³ñ
07/08/10 11:26:26
>>179
>178ÌŒOB
Â[©A>176ÍÈñÅuµÁĢȢ͞vÈñÄBÈÜÜɵĚ̟ë€B
²×êÎŒ®Éªo鱯ÈÌÉB
182:ftHgÌŒ³µ³ñ
07/08/10 11:28:03
>>181
·ÜñAµÁĢȢ±ÆÍmÁÄ¢é
RÌÙ€ªªŸ
183:ftHgÌŒ³µ³ñ
07/08/10 11:35:59
>>182
ÈéÙÇA»êÍžhB»µÄ»ÌªÍßë€B
ÀÛACP/MâtronÉÍfBNgªÈ¢B
184:ftHgÌŒ³µ³ñ
07/08/10 11:42:45
ÜêûÅÍsignal()Èñ©ªWŸµ
í¯í©çñƱëà éæÈ
185:ftHgÌŒ³µ³ñ
07/08/10 11:50:07
åävAsignal()ÍàeªKè³êĢȢ©ç¶ÝµÈ¢Â«ÅÍœàµÈ¯ê΢¢©çB
186:174
07/08/10 11:53:44
>>176
X èªÆÅ·B
WCuÉfBNgݪÜÁœÈ¢ÌÅš©µ¢È
ÆÍvÁÄœñÅ·ªA»ñÈRª ÁœÆÍBB
\[XðŒÂ«ÉÁĜƫA·®RpCūȢÆCŸÈÆvÁÄ
ū韯WÅâéû@ðTµÄœñÅ·ªA
>>178³ñÌÂéÆšèA±èášÆÈµboostgÁÆ¢œÙ€ª¢¢Å·ËB
187:ftHgÌŒ³µ³ñ
07/08/10 12:06:28
ÈñŸboost~Ì©©
188:ftHgÌŒ³µ³ñ
07/08/10 12:09:27
âÁÏèu[Xgª¢¿ÎñÅ·ËOO
189:ftHgÌŒ³µ³ñ
07/08/10 12:31:53
char *p = "hogehoge";
Ì
*(p++)
ª³·lÍoÅ·©?
190:ftHgÌŒ³µ³ñ
07/08/10 12:34:48
¢¢Š
*(p++) ÌlÍ 'h' ÉÈèÜ·
191:ftHgÌŒ³µ³ñ
07/08/10 12:37:41
¢¢Š
*(p++) ÌlÍ 'g' ÉàÈèÜ·
192:ftHgÌŒ³µ³ñ
07/08/10 12:37:42
Í¢AgÍyÅ·
193:ftHgÌŒ³µ³ñ
07/08/10 12:38:25
o͵ÄÝèáª©é±ÆŸë€ÉB
2ch É«Þæèª©éB
194:ftHgÌŒ³µ³ñ
07/08/10 12:44:01
*(++p) µÇÇÒ
195:ftHgÌŒ³µ³ñ
07/08/10 12:52:10
*next(p)
^^;;
196:ftHgÌŒ³µ³ñ
07/08/10 12:53:03
>>189Í
p ªw·lÆ
® *(p++) Ìl𬯵ÄÈ¢©H
197:ftHgÌŒ³µ³ñ
07/08/10 12:53:46
Lèï€²Ž¢Ü·B
¿ÈÝÉ
*pÉÍœªãü³êÄ¢éñÅ·©?
198:ftHgÌŒ³µ³ñ
07/08/10 13:01:58
*pÉÍœàãü³êĢȢÆv¢Ü·ªB
199:ftHgÌŒ³µ³ñ
07/08/10 13:02:37
ÄEEE
200:ftHgÌŒ³µ³ñ
07/08/10 13:09:34
ÅßÍGßÉÖWÈNnªNAÆlŠÄ¢œ¯ÇA
âÁÏè·úxÉÍpxàXP[àêñèဩÈB
201:ftHgÌŒ³µ³ñ
07/08/10 13:36:08
o͵ÄÝèáí©é±Æð€Ÿ€ŸÆ¿âµÄ©çÉEEE
202:ftHgÌŒ³µ³ñ
07/08/10 15:01:04
¿åÁƵÂàñµÜ·
MQ[Æ©ÅutOðœÄévÄ¢€ñÅ·ª
tOÆ¢€ÌÍrbgÈñÅ·©H
203:ftHgÌŒ³µ³ñ
07/08/10 15:03:07
rbgÈtOÍrbgtO
rbg¶áÈ¢tOàR é
204:ftHgÌŒ³µ³ñ
07/08/10 15:07:07
u§ÄévÁÄ¢€\»ð·éæ€ÈtOÈçA
u§Äév©u|·v©Ÿ©çrbgŸë€ÈÆ¢€CÍ·éB
205:ftHgÌŒ³µ³ñ
07/08/10 15:10:54
StOͧÄéÌÉ|êĵ܀
206:ftHgÌŒ³µ³ñ
07/08/10 15:22:38
¶ÅÍStOª§œÈ¢É¢Ä
207:ftHgÌŒ³µ³ñ
07/08/10 15:26:46
>>204
boolÍåïint©charÅÀ³êÄ¢éã©B
208:ftHgÌŒ³µ³ñ
07/08/10 15:27:55
>>206
§¿ß¬ÄÄ¢é©ç
1rbgª¯Ä °éŒ
209:ftHgÌŒ³µ³ñ
07/08/10 19:04:06
cygwinÜœÍlinuxÌ«ºÅRpCÉÇÁ˶t@CÌõpXð^Šæ€ÆµÄ¢Ü·
ŒÉÇÁ˶t@CÌpXð~/xxx/includeÆ·êÎ
.bash_profileÅÍexport CDPATH="$CDPATH":"~/xxx/include/"Ìæ€ÉµÄ«ÏðÝèµ
VFãÅcd includeÆÅÄÎJgpXªÓ}ÊèÉÏ»·éƱëÜÅÍÝèµÄ¢Ü·
±±©çA±ÌpXºÉ étest.hppð#include <test.hpp>Ìæ€ÉwèµÄ¢ét@C
~/main.cppð
RpC·éÚIÅ~/ºÅg++ main -I includeÆÅÁœÌÅ·ª
RpC©çÍtest.hppª©t©çȢƢ€G[ªÔÁīܷ
³µÍÇÌæ€Éwè·é׫ÈÌŵ倩H
210:ftHgÌŒ³µ³ñ
07/08/10 19:13:01
CDPATH ͻ̌OÌÊè cd R}hɵ©ø©È¢ñ¶áÈ¢H
-I~/xxx/include
ÁÄâêÎH
211:ftHgÌŒ³µ³ñ
07/08/10 19:15:55
CDPATHÍcdÉÖW·éŸ¯ÅRpCÉÍÖWÈ¢ñ¶áÈ¢©H
œªµœ¢Ì©Çª©çÈ¢¯ÇAÊÉ-I~/xxx/include/ƩƩ
Ä¢€©A»à»à-IÌãëÉXy[X éÌÍOKŸÁ¯H
212:ftHgÌŒ³µ³ñ
07/08/10 19:39:34
ÈéÙÇtpXÅwèµÈ¢ÆÊÚÈñÅ·ËA Æ' 'ªüÁÄÄàÊÚÆ
»êçñ_ÉCðt¯ÄÅÄÎÊèܵœ
Ÿ èªÆ€²Ž¢Üµœ
213:ftHgÌŒ³µ³ñ
07/08/10 19:45:54
>>212
ÎpXÅࢯé¯ÇAu\[Xª éê©çÌvÎpXŠ鱯ÉÓ
214:213
07/08/10 19:47:00
A-IIvVÅwè·éêÍ»€¶áÈ¢©H
·ÜñAŽ©g âÓâÉÈÁÄ«œBYêÄê
215:ftHgÌŒ³µ³ñ
07/08/10 19:53:16
-IIvVÍÎpXÅࢯénYB
œÔñRpCÀsÌìÆfBNg©Èñ©©çÌÎpXÉÈéÆv€¯ÇEEEB
¢ÂàmakefileRsyüÏÅâÁ¿Ü€©çAŽàL¯ª âÓâŸEEE
216:ftHgÌŒ³µ³ñ
07/08/10 20:29:01
ÎpXÅOKB
MakefileÉ-IpathƢĚ¢ÄAln -s ÇÁ©Ì/pathÆ©æâéB
217:ftHgÌŒ³µ³ñ
07/08/10 22:46:58
NXÌÀÛÌ^ɶœðÈPÉû@Í èÜ·©H
áŠÎAî{NX Hoge ðp³·éNX Foo Æ Bar ª 鯵ÄA
void func(const Hoge &hoge)
{
@@// hoge ª Foo ÌÌ
@@// hoge ª Bar ÌÌ
}
Æ¢€ÌðÈÉ«œ¢ÌÅ·ªBÊÉdynamic_castðgÁÄi_ELXgÌáOÄÎêœÈ¢ÌÅ|C^Åj
{
@@if ((const Foo *p = dynamic_cast<const Foo *>(&hoge)) != NULL)
@@@@...;
@@else if ((const Bar *p = dynamic_cast<const Bar *>(&hoge)) != NULL)
@@@@...;
}
Æâéû@ÆAtry...catchÌÏÈg¢ûÅ
{
@@try {
@@@@throw hoge;
@@} catch (const Foo &foo) {
@@@@...;
@@} catch (const Bar &bar) {
@@@@...;
@@}
}
ÁÄ¢€Ìàv¢Â¢œñÅ·ªA±ñÈ«û͵ȢŷæËBÀÛÍÇ€¢€«ûªÊŵ倩B
instanceofÆ©isÆ©C++ÉÍÈ¢æ€ÈÌÅB
218:ftHgÌŒ³µ³ñ
07/08/10 22:50:17
»ÌNXÉ virtual Öðìê΢¢ñ¶áÈ¢ÌH
instanceof Í dynamic_cast
¢¿š€ typeid à é¯Ç
219:ftHgÌŒ³µ³ñ
07/08/10 22:52:33
>>217
funcðHogeÌŒzÖÉ·éiKvɶČzÖÉ·éjB
»µÄAFooÆBarª»êŒêI[o[Ch·éB
instanceofÆ©isÆ©ª éŸêÅàA
»ñÈ«ûæè±€¢€ŒzÖÅâéû@ªÊŸŒB
220:ftHgÌŒ³µ³ñ
07/08/10 23:00:22
>>217
void func(const Foo& foo);
void func(const Bar& bar);
...
221:ftHgÌŒ³µ³ñ
07/08/11 00:26:58
Lisp ¶áÈ¢©çB
222:ftHgÌŒ³µ³ñ
07/08/11 10:54:08
>>217
îêNXªh¶NXÌÊ|ÜÅÝé׫ÅÍÈ¢æ
223:ftHgÌŒ³µ³ñ
07/08/11 13:04:07
>>222
funcÍHogeÌoÖ¶á³¢AÆ©»ñÈóµÈCà·é
224:ftHgÌŒ³µ³ñ
07/08/11 13:54:38
func ©ç Hoge ÌŒzÖÄ×΢¢Ÿ¯Ÿæ
225:ftHgÌŒ³µ³ñ
07/08/11 16:49:10
A¢âB
PÉîêNXÉÊ|©³»€ÆµÄéí¯¶áÈ¢ñ¶áÈ¢HÆ¢€Ÿ¯ÌbÅB
226:ftHgÌŒ³µ³ñ
07/08/11 18:31:47
»ÌAtry...catchÌÏÈg¢ûAŸªAǰÄéÌÍHoge^Ÿ©ç
{ÌNXÅÍßÜŠçêÈ¢B
#include <stdio.h>
struct B{virtual ~B(){}};
struct D1:B{};
struct D2:B{};
int main(){
B *b = new D1;
try{ throw *b; }
catch( D1 &){ puts("D1"); }
catch( D2 &){ puts("D2"); }
catch( B & ){ puts("B"); }
}
227:ftHgÌŒ³µ³ñ
07/08/11 20:52:01
_ufBXpb`gŠÎ¢¢¶áñB
228:ftHgÌŒ³µ³ñ
07/08/12 06:43:01
»êÈÉÊËÌ
229:ftHgÌŒ³µ³ñ
07/08/12 07:11:10
#include <stdio.h>
struct B { virtual ~B(){} virtual void Throw() { throw this; } };
struct D1 : public B { virtual void Throw() { throw *this; } };
struct D2 : public B { virtual void Throw() { throw *this; } };
int main(){
B *b = new D1;
try{ b->Throw(); }
catch( D1 &){ puts("D1"); }
catch( D2 &){ puts("D2"); }
catch( B & ){ puts("B"); }
}
230:ftHgÌŒ³µ³ñ
07/08/12 08:44:07
#include <stdio.h>
struct B { virtual ~B(){} virtual void Func() { puts("B"); } };
struct D1 : public B { virtual void Func() { puts("D1"); } };
struct D2 : public B { virtual void Func() { puts("D2"); } };
_gcűêªêÔ¢¢ñŸ¯ÇÈ
231:ftHgÌŒ³µ³ñ
07/08/12 08:45:40
»èỀŸB
232:ftHgÌŒ³µ³ñ
07/08/13 09:30:33
î{Éßéæ€È¿â
VC8Express (cl v14.00.50727.762 for 80x86)ÅA
void main(void){main();}
ðA
cl /MD stackov.cpp
ÅRpCµÄÀsµÄàAÙÁĿ韯ÅA_invoke_watson³êÈ¢
»€¢€áOÁÄAÈÉ©µç_CAOoµÄ¿éàÌÆÎ©èvÁÄ¢œÌÉ
Ì©ç±ñÈŵœÁ¯A±êÁı€¢€àñ?
233:ftHgÌŒ³µ³ñ
07/08/13 10:19:39
X^bNI[o[t[ſ韯¶áÈ¢ÌH
234:ftHgÌŒ³µ³ñ
07/08/13 11:51:22
€ñBܳÉAX^bNI[o[t[Å¿c
cœÆ«ÉAAvP[VG[ÁÄoȢ̪
fobK©çN®·êÎA¿áñÆ
Stack overflow - code c00000fd (first chance)
ÁÄßš³êéñŸ¯ÇcB
235:ftHgÌŒ³µ³ñ
07/08/13 12:08:26
R\[AvŸ©ç¶áȢ̩ÈB
236:ftHgÌŒ³µ³ñ
07/08/13 12:10:47
int ch = ' '
if (!isspace(ch) && !iscntrl(ch))
break;
Æ¢€¶ÈÌÅ·ªA
œÌ©break³êĵܢܷB
chªXy[XÅȢƫ©Âchª§ä¶ÅȢƫ
Ébreak³êéÍžÈÌÅ·ªAð®ÔáÁÄ¢éŵ倩?
237:ftHgÌŒ³µ³ñ
07/08/13 12:14:01
gcc gdbÅÍSIGSEGVÅstack over flowÉÈçñÌŸ¯Ç
o·éû@ÍÊÉ éñŸë€ÈA éñŸë€Ë
238:ftHgÌŒ³µ³ñ
07/08/13 12:26:17
>>236
®©È¢fÐðñгêÄàÈñÆàŸŠÜ¹ñªB
ÇóðĻūéÅáÀÌWbNðñеÄÝÄŸ³¢B
239:ftHgÌŒ³µ³ñ
07/08/13 12:33:45
iscntrl()ÍP[É˶·éƳêéµA
ch©Aiscntrl()Ì®ªŒŽÉœµÄ¢éÌÅÍ
printf("%x: %d, %d\n",ch,isspace(ch),iscntrl(ch));
ðifÌOÉu¢ÄÝÄÍB
y[WÅVX\ŠXbhÌõÞXêbèÌj
[XšÜ©¹Xg¥IvVð\ŠÉÂÔµ2ch
4988úOÉXV/231 KB
S:undef