티스토리 툴바


달력

05

« 2012/05 »

  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
class A 와 B.. 그리고 그 밖의 다양한 객체들이 있다.
class A 는 내 소중한 멤버 하나인 restriction_member 의 존재를 내가 인정하는 놈들 만
볼수 있게 하고 싶어.. 그중 하나가 friend 야.. 
friend에 있는 놈은 정말 믿을 만 해서 봐도 괜찮고 써도 좋아. 
그런데 그 밖에 나머지는 안돼 절대. 

class A
{
public:
    friend class B approval_object;

private:
    int restricted_member;
}

class B
{
public:
    void func_b(class A& a)
    {
        std::cout("나만 A의 자원을~.. "<<a.restricted_member<<std::end;
    }
}
저작자 표시
Posted by 아이쿠허리야
 include 
#include 
#include 
#include 


struct Music
{
    char addr[512]; 
    char title[512];
};


#define MAX_MUSIC_COUNT     1014
struct Music g_musics[MAX_MUSIC_COUNT]; 

int main(void)
{
    int i; 
    FILE *fp = NULL; 
    FILE *ofp = NULL;
    char ch;
    char rbuf[1024]; 
    char tmpbuf[1024]; 
    char *start; 

    if ((fp = fopen("music.txt", "rb"))== NULL)
    {
        fprintf(stderr, "file open error\n");
        exit(1);
    }
    if ((ofp = fopen("get_m_list", "wb"))== NULL)
    {
        fprintf(stderr, "file open error\n");
        exit(1);
    }

    for (i = 0; i < MAX_MUSIC_COUNT ||feof(fp); i++)
    {
        int j; 
        int len = 0;
        for (j = 0; (ch = fgetc(fp)) != '\n'; j++)
        {
            rbuf[j] = ch; 
        }
        start = strstr(rbuf, ">");
        start += 1;
        len = strlen(start);
        for (j = len-1; j >= 0; j--)
        {
            if (start[j] == '<')
            {
                start[j] = '\0';
                break;
            }
        }
        /* title copy */
        strcpy(g_musics[i].title, start);
printf("[%d] TITLE [%s]\n", i, start);

        for (j = 0; (ch = fgetc(fp)) != '\n'; j++)
        {
            rbuf[j] = ch;
        }
        start = strstr(rbuf, ">");
        start += 1;
        len = strlen(start);
        for (j = len-1; j >= 0; j--)
        {
            if (start[j] == '<')
            {
                start[j] = '\0';
                break;
            }
        }
        strcpy(g_musics[i].addr, start);
printf("ADDRESS [%s]\n\n", start);
    }
    printf("LIST CHECK\n");
    for (i = 0; i < MAX_MUSIC_COUNT; i++)
    {
        fprintf(ofp, "wget %s -o \"%s\"\n\n", g_musics[i].addr, g_musics[i].title);
    }
    fclose(fp);
    fclose(ofp);
    return 0;
}

저작자 표시
Posted by 아이쿠허리야