string이 assign한다는 말이 무슨 말인지 모르겠다. char str[] = \"All/0*.*/0Text/0*.TXT/0\"; 했을때 str에 All만 저장되는지 뒤에것도 다 저장되는지를 묻는거면 당연히 뒤에것도 다 저장된다
kukyakya(143.248)2012-02-21 03:48
길이는 strlen같은 c문자열을 다루는 함수로는 정확히 알아낼 수 없다. sizeof(\"a\\0a\"); 하면 4가 나올거다 뒤에 \\0까지해서
kukyakya(143.248)2012-02-21 03:52
아 그러고보니 표현이 부정확했네...String class에 넣는다는 얘기였음. sizeof(\"All/0*.*/0Text/0*.TXT/0\") 하면 20이 나와서 /0 이후까지 다 계산되는 건 확인했는데, String::String(const char cStr[]) {} 내부에서 sizeof(cStr) 값을 보면 20이 아니라 4가 찍혀버림...
나다라마법사(114.205)2012-02-21 03:58
cStr은 이미 literal이 아니라 literal을 가리키는 포인터잖여
kukyakya(143.248)2012-02-21 03:59
애초에 String::String 선언을 String::String(const char* cStr)으로 했다가 sizeof(cStr) 쓸려구 String::String(const char cStr[])으로 바꾼 거였는데,,,,
나다라마법사(114.205)2012-02-21 04:00
뭘 하고 싶은지는 알겠는데 그거 안되는거다. size를 다른 인자로 넣어주던지 해야됨
kukyakya(143.248)2012-02-21 04:01
근데 constructor 외부에서 찍어보면 20이 맞게 찍힌다는...const TCHAR filter[] =_T(\"All\\0*.*\\0Text\\0*.TXT\\0\"); int a = sizeof(filter);
나다라마법사(114.205)2012-02-21 04:01
a=20
나다라마법사(114.205)2012-02-21 04:02
밖에서보는 filter는 const TCHAR filter[20]; 처럼 정해진 크기의 배열인거고, 함수 인자의 const TCHAR filter[]는 그냥 포인터라서 그래
kukyakya(143.248)2012-02-21 04:07
그렇다면 함수인자에 있는 const TCHAR f[] 같은 선언은 무용지물이구만...뭐하러 만들었대...
다 들어가지 않나?
string이 assign한다는 말이 무슨 말인지 모르겠다. char str[] = \"All/0*.*/0Text/0*.TXT/0\"; 했을때 str에 All만 저장되는지 뒤에것도 다 저장되는지를 묻는거면 당연히 뒤에것도 다 저장된다
길이는 strlen같은 c문자열을 다루는 함수로는 정확히 알아낼 수 없다. sizeof(\"a\\0a\"); 하면 4가 나올거다 뒤에 \\0까지해서
아 그러고보니 표현이 부정확했네...String class에 넣는다는 얘기였음. sizeof(\"All/0*.*/0Text/0*.TXT/0\") 하면 20이 나와서 /0 이후까지 다 계산되는 건 확인했는데, String::String(const char cStr[]) {} 내부에서 sizeof(cStr) 값을 보면 20이 아니라 4가 찍혀버림...
cStr은 이미 literal이 아니라 literal을 가리키는 포인터잖여
애초에 String::String 선언을 String::String(const char* cStr)으로 했다가 sizeof(cStr) 쓸려구 String::String(const char cStr[])으로 바꾼 거였는데,,,,
뭘 하고 싶은지는 알겠는데 그거 안되는거다. size를 다른 인자로 넣어주던지 해야됨
근데 constructor 외부에서 찍어보면 20이 맞게 찍힌다는...const TCHAR filter[] =_T(\"All\\0*.*\\0Text\\0*.TXT\\0\"); int a = sizeof(filter);
a=20
밖에서보는 filter는 const TCHAR filter[20]; 처럼 정해진 크기의 배열인거고, 함수 인자의 const TCHAR filter[]는 그냥 포인터라서 그래
그렇다면 함수인자에 있는 const TCHAR f[] 같은 선언은 무용지물이구만...뭐하러 만들었대...