#include <time.h>
struct tm *localtime_r(const time_t *timep, struct tm *result);



----DESCRIPTION
localtime_r 함수는 time_t type의 초단위의 시간을 지역시간(locale정보)의 struct tm type으로 변환하는 함수입니다.
localtime()함수가 변환된 결과를 local static변수에 저장하는것과 달리 localtime_r()함수는 data를 변환한 결과값을
result에 저장하기때문에 multi-thread에서도 안전한 thread-safe함수입니다.





#include <time.h>
#include <stdio.h>

struct tm *localtime_r(const time_t *timep, struct tm *result);

int main(int argc, char **argv[])
{
    time_t t;
    struct tm lt;
 
    if((t=time(NULL))==-1) {
        printf("time() call error\n");
        return -1;
    }
    if(localtime_r(&t, &lt)==NULL) {
        printf("localtime_r() call error\n");
        return -1;
    }
    printf("NOW TIME:%04d-%02d-%02d %02d:%02d:%02d\n",
    lt.tm_year + 1900,
    lt.tm_mon + 1,
    lt.tm_mday,
    lt.tm_hour,
    lt.tm_min,
    lt.tm_sec);
 
    return 0;

/* 

 * printf에서 자주사용되고, 유용한 *에 대해서 알아본다.

 * printf에서 자주사용되고, 유용한 *에 대해서 알아본다.

 * printf에서 자주사용되고, 유용한 *에 대해서 알아본다.

 */

 

#include <stdio.h>

 

struct TESTSCORE_ST

{

    char Number[5];

    char Name[20];

char KorScore[10];

char EngScore[10];

char MathScore[10];

};

 

//구조체변수 초기화및 데이타 세팅하기

struct TESTSCORE_ST score[7] = {

{"1001", "Park", "90.2", "65.43", "56.99"},

{"1002", "Lee", "90.2", "65.43", "56.99"},

{"1003", "Choi", "90.2", "65.43", "56.99"},

{"1004", "Jung", "90.2", "65.43", "56.99"},

{"1005", "Son", "90.2", "65.43", "56.99"},

{"1006", "Nam", "90.2", "65.43", "56.99"},

{"1007", "Kim", "90.2", "65.43", "56.99"} };

 

int main(void)

{

    int kk;

 

for(kk=0; kk<7; kk++)

{

        //LEFT정렬,ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

        printf("[%-*s]"

           "[%-*s]"

          "[%-*s]"

   "[%-*s]"

   "[%-*s]",

      sizeof(score[kk].Number), score[kk].Number,

      sizeof(score[kk].Name), score[kk].Name,

      sizeof(score[kk].KorScore), score[kk].KorScore,

      sizeof(score[kk].EngScore), score[kk].EngScore,

      sizeof(score[kk].MathScore), score[kk].MathScore);

printf("\n");

        //RIGHT정렬,,ㅡㅡㅡㅡㅡㅡㅡㅡ

printf("[%*s]"

        "[%*s]"

       "[%*s]"

       "[%*s]"

       "[%*s]",

      sizeof(score[kk].Number), score[kk].Number,

      sizeof(score[kk].Name), score[kk].Name,

      sizeof(score[kk].KorScore), score[kk].KorScore,

      sizeof(score[kk].EngScore), score[kk].EngScore,

      sizeof(score[kk].MathScore), score[kk].MathScore);

printf("\n");

printf("[%s]"

           "[%s]"

   "[%s]"

   "[%s]"

          "[%s]",

      score[kk].Number,

      score[kk].Name,

      score[kk].KorScore,

      score[kk].EngScore,

      score[kk].MathScore);

        printf("\n");

}

return 0;

}

 

/*RESULT

Microsoft Windows [Version 6.1.7601]

Copyright (c) 2009 Microsoft Corporation. All rights reserved.

 

[1001 ][Park                ][90.2      ][65.43     ][56.99     ]

[ 1001][                Park][      90.2][     65.43][     56.99]

[1001][Park][90.2][65.43][56.99]

[1002 ][Lee                 ][90.2      ][65.43     ][56.99     ]

[ 1002][                 Lee][      90.2][     65.43][     56.99]

[1002][Lee][90.2][65.43][56.99]

[1003 ][Choi                ][90.2      ][65.43     ][56.99     ]

[ 1003][                Choi][      90.2][     65.43][     56.99]

[1003][Choi][90.2][65.43][56.99]

[1004 ][Jung                ][90.2      ][65.43     ][56.99     ]

[ 1004][                Jung][      90.2][     65.43][     56.99]

[1004][Jung][90.2][65.43][56.99]

[1005 ][Son                 ][90.2      ][65.43     ][56.99     ]

[ 1005][                 Son][      90.2][     65.43][     56.99]

[1005][Son][90.2][65.43][56.99]

[1006 ][Nam                 ][90.2      ][65.43     ][56.99     ]

[ 1006][                 Nam][      90.2][     65.43][     56.99]

[1006][Nam][90.2][65.43][56.99]

[1007 ][Kim                 ][90.2      ][65.43     ][56.99     ]

[ 1007][                 Kim][      90.2][     65.43][     56.99]

[1007][Kim][90.2][65.43][56.99]

----------------------------------------------------------------------------*/

 

 

 

   

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

 

#define LEAP(y) ((y % 4 == 0 && y % 100 != 0 || y % 400 == 0) ? 1 : 0)

 

static void ha_ltona0(int idx, int length, char *answer);

static int ha_antol(char *request, int length);

static void cb1_compute_date (char *odate, char *idate, int addval);

static int getRemainDay(char *odate, char *idate);

 

int main(int argc, char *argv[])

{

    int rc,mm,dd;    char begin_date[10] = "20190101";

   char end_date [10];

   for(mm=1; mm<=12; mm++)

   {

      for(dd=1; dd<=31; dd++)

      {

         memset(end_date,0x00,sizeof(end_date));

         sprintf(end_date, "2019%.2d%.2d", mm, dd);

         rc = getRemainDay(end_date,begin_date);

         if(rc<0) printf("(%s)(%s):(%s)\n", begin_date, end_date, " is not valid day!! error");

         else printf("(%s)(%s):(%d)\n", begin_date, end_date, getRemainDay(end_date,begin_date));

      }

   }

for(mm=1; mm<=12; mm++) { for(dd=1; dd<=31; dd++)

{

memset(end_date,0x00,sizeof(end_date));

sprintf(end_date, "2019%.2d%.2d", mm, dd);

rc = getRemainDay(end_date,begin_date);

if(rc<0) printf("(%s)(%s):(%s)\n", begin_date, end_date, " is not valid day!! error");

}

}

   return 0;

}

 

/*- ------------------------------------------------ -*

 *- ha_ltona0

 *- ------------------------------------------------ -*/

void ha_ltona0(int idx, int length, char *answer)

{

    if(length==1)

    {

        sprintf(answer,"%.1d",idx);

    }

    else if(length==2)

    {

        sprintf(answer,"%.2d",idx);

    }

    else if(length==3)

    {

        sprintf(answer,"%.3d",idx);

    }

    else if(length==4)

    {

        sprintf(answer,"%.4d",idx);

    }

}

 

/*- ------------------------------------------------ -*

 *- ha_antol

 *- ------------------------------------------------ -*/

int ha_antol(char *request, int length)

{

char answer[100];

 

memset(answer,0x00,sizeof(answer));

 

memcpy(answer,request,length);

 

return(atoi(answer));

}

 

/*- ------------------------------------------------ -*

 *- cb1_compute_date

 *- ------------------------------------------------ -*/

void cb1_compute_date (odate, idate, addval)

char *odate;

char *idate;

int addval;

{

int yy;

int mm;

int dd;

int leap;

static int mmt[2] [13] =

{ {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},

   {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} };

 

yy = ha_antol(idate, 4);

mm = ha_antol(idate+4, 2);

dd = ha_antol(idate+6, 2) + addval;

leap = LEAP(yy);

if (addval == 0) {

sprintf(odate, "%.8s", idate);

return;

    }

else

if (addval > 0) {

     for ( ; dd > mmt[leap][mm]; mm++)

     {

     dd -= mmt[leap] [mm];

     if (mm >= 12)

     {

         mm = 0;

         yy++;

         leap = LEAP(yy);

     }

     }

}

else {

     mm--;

     if (mm == 0)

     {

     mm = 12;

     yy--;

     leap = LEAP(yy);

     }

 

     for ( ; dd < 1; mm--)

     {

     dd += mmt [leap] [mm];

     if (mm <= 1)

     {

         mm = 13;

         yy--;

         leap = LEAP(yy);

     }

     }

     mm++;

     if (mm > 12)

     {

     mm = 1;

     yy++;

     }

}

 

ha_ltona0(yy, 4, odate);

ha_ltona0(mm, 2, odate+4);

ha_ltona0(dd, 2, odate+6);

}

 

/*- ------------------------------------------------ -*

 *- getRemainDay

 *- ------------------------------------------------ -*/

int getRemainDay(char *odate, char *idate)

{

int k;

char begin_date[10];

 

if(strcmp(odate,idate)<0) return(-1);

 

if(memcmp(odate,idate,strlen("YYYYMMDD"))==0) return 1;

 

    for(k=1; k<9999; k++)

{

     memset(begin_date,0x00,sizeof(begin_date));

     cb1_compute_date(begin_date,idate,k);

 

if(memcmp(begin_date,odate,strlen("YYYYMMDD"))==0) break;

}

 

if(k==9999) return(-1);

return k+1;

}

 

/*RESULT

Microsoft Windows [Version 6.1.7601]

Copyright (c) 2009 Microsoft Corporation. All rights reserved.

 

C:\Users\Downloads>10

,,

,,

,,

,,

(20190101)(20190818):(230)

(20190101)(20190819):(231)

(20190101)(20190820):(232)

(20190101)(20190821):(233)

(20190101)(20190822):(234)

(20190101)(20190823):(235)

(20190101)(20190824):(236)

(20190101)(20190825):(237)

(20190101)(20190826):(238)

(20190101)(20190827):(239)

(20190101)(20190828):(240)

(20190101)(20190829):(241)

(20190101)(20190830):(242)

(20190101)(20190831):(243)

(20190101)(20190901):(244)

(20190101)(20190902):(245)

(20190101)(20190903):(246)

(20190101)(20190904):(247)

(20190101)(20190905):(248)

(20190101)(20190906):(249)

(20190101)(20190907):(250)

(20190101)(20190908):(251)

(20190101)(20190909):(252)

(20190101)(20190910):(253)

(20190101)(20190911):(254)

(20190101)(20190912):(255)

(20190101)(20190913):(256)

(20190101)(20190914):(257)

(20190101)(20190915):(258)

(20190101)(20190916):(259)

(20190101)(20190917):(260)

(20190101)(20190918):(261)

(20190101)(20190919):(262)

(20190101)(20190920):(263)

(20190101)(20190921):(264)

(20190101)(20190922):(265)

(20190101)(20190923):(266)

(20190101)(20190924):(267)

(20190101)(20190925):(268)

(20190101)(20190926):(269)

(20190101)(20190927):(270)

(20190101)(20190928):(271)

(20190101)(20190929):(272)

(20190101)(20190930):(273)

(20190101)(20190931):( is not valid day!! error)

(20190101)(20191001):(274)

(20190101)(20191002):(275)

(20190101)(20191003):(276)

(20190101)(20191004):(277)

(20190101)(20191005):(278)

(20190101)(20191006):(279)

(20190101)(20191007):(280)

(20190101)(20191008):(281)

(20190101)(20191009):(282)

(20190101)(20191010):(283)

(20190101)(20191011):(284)

(20190101)(20191012):(285)

(20190101)(20191013):(286)

(20190101)(20191014):(287)

(20190101)(20191015):(288)

(20190101)(20191016):(289)

(20190101)(20191017):(290)

(20190101)(20191018):(291)

(20190101)(20191019):(292)

(20190101)(20191020):(293)

(20190101)(20191021):(294)

(20190101)(20191022):(295)

(20190101)(20191023):(296)

(20190101)(20191024):(297)

(20190101)(20191025):(298)

(20190101)(20191026):(299)

(20190101)(20191027):(300)

(20190101)(20191028):(301)

(20190101)(20191029):(302)

(20190101)(20191030):(303)

(20190101)(20191031):(304)

(20190101)(20191101):(305)

(20190101)(20191102):(306)

(20190101)(20191103):(307)

(20190101)(20191104):(308)

(20190101)(20191105):(309)

(20190101)(20191106):(310)

(20190101)(20191107):(311)

(20190101)(20191108):(312)

(20190101)(20191109):(313)

(20190101)(20191110):(314)

(20190101)(20191111):(315)

(20190101)(20191112):(316)

(20190101)(20191113):(317)

(20190101)(20191114):(318)

(20190101)(20191115):(319)

(20190101)(20191116):(320)

(20190101)(20191117):(321)

(20190101)(20191118):(322)

(20190101)(20191119):(323)

(20190101)(20191120):(324)

(20190101)(20191121):(325)

(20190101)(20191122):(326)

(20190101)(20191123):(327)

(20190101)(20191124):(328)

(20190101)(20191125):(329)

(20190101)(20191126):(330)

(20190101)(20191127):(331)

(20190101)(20191128):(332)

(20190101)(20191129):(333)

(20190101)(20191130):(334)

(20190101)(20191131):( is not valid day!! error)

(20190101)(20191201):(335)

(20190101)(20191202):(336)

(20190101)(20191203):(337)

(20190101)(20191204):(338)

(20190101)(20191205):(339)

(20190101)(20191206):(340)

(20190101)(20191207):(341)

(20190101)(20191208):(342)

(20190101)(20191209):(343)

(20190101)(20191210):(344)

(20190101)(20191211):(345)

(20190101)(20191212):(346)

(20190101)(20191213):(347)

(20190101)(20191214):(348)

(20190101)(20191215):(349)

(20190101)(20191216):(350)

(20190101)(20191217):(351)

(20190101)(20191218):(352)

(20190101)(20191219):(353)

(20190101)(20191220):(354)

(20190101)(20191221):(355)

(20190101)(20191222):(356)

(20190101)(20191223):(357)

(20190101)(20191224):(358)

(20190101)(20191225):(359)

(20190101)(20191226):(360)

(20190101)(20191227):(361)

(20190101)(20191228):(362)

(20190101)(20191229):(363)

(20190101)(20191230):(364)

(20190101)(20191231):(365)

(20190101)(20190229):( is not valid day!! error)

(20190101)(20190230):( is not valid day!! error)

(20190101)(20190231):( is not valid day!! error)

(20190101)(20190431):( is not valid day!! error)

(20190101)(20190631):( is not valid day!! error)

(20190101)(20190931):( is not valid day!! error)

(20190101)(20191131):( is not valid day!! error)

*/

 

#include <stdio.h>

 

#if(1)

#pragma pack(1)

struct PacketHeader {

    char flags;    // 1 BYTE

    int seq;       // 4 BYTE

};

#pragma pack()

#endif

 

#if(0)

struct PacketHeader {

    char flags;    // 1 BYTE

    int seq;       // 4 BYTE

} __attribute__((aligned(1), packed));

#endif

 

#if(0)

struct PacketHeader {

    char flags;    // 1 BYTE

    int seq;       // 4 BYTE

};

#endif

 

int main()

{

    struct PacketHeader header;

 

    printf("%d\n", sizeof(header.flags));

    printf("%d\n", sizeof(header.seq));  

    printf("%d\n", sizeof(header));      

 

    return 0;

}

 

//정상적인 경우는 1+4=8바이트의 크기로 구조체크기가 결정되지만

//#pragma pack(1)를 사용함으로써 구조체 정렬 크기조정할수 있다.

 

 

#include <stdio.h>

 

int main(void)

{

    printf("%.2f\n\n", 0.25676);

    return 0;

}

 

/*

결과:0.26

*/

'c 언어 > 초급과정' 카테고리의 다른 글

중복되지않는 문자출력  (0) 2020.08.26
printf () 함수 활용  (0) 2019.10.31
[C언어] Header File 한번만 포함하기.  (0) 2019.10.31
WINDOWS, 키보드 주므르기(102)  (0) 2019.10.31
WINDOWS, 키보드 주므르기(101)  (0) 2019.10.31

C언어로 프로그래밍을 하다보면 하나의 헤더파일이 여러 곳에서 참조될 때가 있다.

컴파일 시 해당 헤더파일이 여러번 중복되서 참조되는 상황을 막기 위해

 

#ifndef 와 #define이 사용된다.

 

예를 들어 test.h라는 헤더파일이 있다고 하자.

 

헤더파일의 가장 위에

 

#ifndef __TEST_H__

#define __TEST_H__

 

// 내용 작성

#define MAX_LEVEL 999

 

#endif

 

위와 같이 작성하게 되면 __TEST_H__이 상수화 되어 헤더파일 참조 시 해당 파일 참조되었으므로 

한번만 참조하게 된다.

 

#변수가 아닌이상, 여러번 참조해도 괜찮지만, 코드의 가독성및 사이즈에 영향을 미치게 된다.

#변수가 아닌이상, 여러번 참조해도 괜찮지만, 코드의 가독성및 사이즈에 영향을 미치게 된다.

#변수가 아닌이상, 여러번 참조해도 괜찮지만, 코드의 가독성및 사이즈에 영향을 미치게 된다.

#변수가 아닌이상, 여러번 참조해도 괜찮지만, 코드의 가독성및 사이즈에 영향을 미치게 된다.

#변수가 아닌이상, 여러번 참조해도 괜찮지만, 코드의 가독성및 사이즈에 영향을 미치게 된다.

#변수가 아닌이상, 여러번 참조해도 괜찮지만, 코드의 가독성및 사이즈에 영향을 미치게 된다.

#변수가 아닌이상, 여러번 참조해도 괜찮지만, 코드의 가독성및 사이즈에 영향을 미치게 된다.

#변수가 아닌이상, 여러번 참조해도 괜찮지만, 코드의 가독성및 사이즈에 영향을 미치게 된다.

#변수가 아닌이상, 여러번 참조해도 괜찮지만, 코드의 가독성및 사이즈에 영향을 미치게 된다.

 

 

 

 

//구조체에 맞는 파일을 읽어들여서 해당변수로 정렬하는 프로그램(정렬시에 스택변수사용시)

//구조체에 맞는 파일을 읽어들여서 해당변수로 정렬하는 프로그램(정렬시에 스택변수사용시)

//구조체에 맞는 파일을 읽어들여서 해당변수로 정렬하는 프로그램(정렬시에 스택변수사용시)

//구조체에 맞는 파일을 읽어들여서 해당변수로 정렬하는 프로그램(정렬시에 스택변수사용시)

 

//CALL BY VALUE & CALL BY REFERENCE

//CALL BY VALUE & CALL BY REFERENCE

//CALL BY VALUE & CALL BY REFERENCE

//CALL BY VALUE & CALL BY REFERENCE

 

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

 

struct KSEMASTBATCH {

    char dataclass[2];

    char infoclass[2];

    char marketclass;

    char stockcode[12];

    char serialno[8];

    char abbrstockcode[9];

    char abbrstocknamekor[40];

    char abbrstocknameeng[40];

    char senddate[8];

    char infodivisiongroupno[5];

    char stockgroupid[2];

    char isunittrade;

    char exclasscode[2];

    char ff;

};

#define SZ_KSEMASTBATCH sizeof(struct KSEMASTBATCH)

 

int main(int argc, char *argv[])

{

    FILE *fp=NULL;

char rbuf[4096];

    struct KSEMASTBATCH *kse1[1024];

struct KSEMASTBATCH *kse2[1024];

struct KSEMASTBATCH *kse3[1024];

struct KSEMASTBATCH *kse_src[1024];

struct KSEMASTBATCH *kse_tmp;

struct KSEMASTBATCH kse_1_address[1024];

struct KSEMASTBATCH kse_2_address[1024];

int ii,kk,mm,ff,jj,cnt;

 

if(argc != 2)

{

     return(-1);

}

 

if((fp=fopen(argv[1], "rt"))==NULL) 

{

     return(-1);

}

 

kk=0;

while(1)

{

     memset(rbuf,0x00,sizeof(rbuf));

if(fgets(rbuf, sizeof(rbuf), fp)==NULL) break;

 

//STACK REGISTER & POINTER REGISTER

//STACK REGISTER & POINTER REGISTER

//STACK REGISTER & POINTER REGISTER

//STACK REGISTER & POINTER REGISTER

memcpy(&kse_1_address[kk], rbuf, SZ_KSEMASTBATCH);

memcpy(&kse_2_address[kk], rbuf, SZ_KSEMASTBATCH);

 

        //[kse1 == kse2 == kse3] SAME ADDRESS POINTER

        //[kse1 == kse2 == kse3] SAME ADDRESS POINTER

        //[kse1 == kse2 == kse3] SAME ADDRESS POINTER

        //[kse1 == kse2 == kse3] SAME ADDRESS POINTER

kse1[kk]     = &kse_1_address[kk];

kse2[kk]     = &kse_1_address[kk];

kse3[kk]     = &kse_1_address[kk];

kse_src[kk]  = &kse_2_address[kk];

 

kk++;

 

if(kk>1000) break;

}

cnt=kk;

if(fp != NULL) fclose(fp);

 

    //ASCENDING SORT BY SYMBOL

//ASCENDING SORT BY SYMBOL

//ASCENDING SORT BY SYMBOL

for(kk=0; kk<cnt; kk++)

{

for(ii=kk+1; ii<cnt; ii++)

{

if(memcmp(kse1[kk]->stockcode,kse1[ii]->stockcode,sizeof(kse1[ii]->stockcode))>0)

{

kse_tmp=NULL;

 

kse_tmp  = kse1[kk];

kse1[kk] = kse1[ii];

kse1[ii] = kse_tmp;

}

}

}

 

for(kk=0; kk<cnt; kk++)

{

       printf("(1)[%.4d],SYM[%.12s]>>>>[%x][%.12s],[%x][%.12s]\n", 

      kk+1, kse_1_address[kk].stockcode, kse1[kk]->stockcode, kse1[kk]->stockcode, kse_src[kk]->stockcode, 

        kse_src[kk]->stockcode);

}

for(kk=0; kk<cnt; kk++)

{

       printf("(2)[%.4d],SYM[%.12s]>>>>[%x][%.12s],[%x][%.12s]\n", 

      kk+1, kse_1_address[kk].stockcode, kse2[kk]->stockcode, kse2[kk]->stockcode, kse_src[kk]->stockcode, 

        kse_src[kk]->stockcode);

}

for(kk=0; kk<cnt; kk++)

{

       printf("(3)[%.4d],SYM[%.12s]>>>>[%x][%.12s],[%x][%.12s]\n", 

      kk+1, kse_1_address[kk].stockcode, kse3[kk]->stockcode, kse3[kk]->stockcode, kse_src[kk]->stockcode, 

        kse_src[kk]->stockcode);

}

return(0);

}

 

/*결과

C:\Users\Downloads>src_0419 A0011.dat

(1)[0001],SYM[HK0000050325]>>>>[162f21][HK0000050325],[9af21][HK0000050325]

(1)[0002],SYM[KR5707017R97]>>>>[163241][KR5707017R97],[9b241][KR5707017R97]

(1)[0003],SYM[KR5713017R38]>>>>[163561][KR5713017R38],[9b561][KR5713017R38]

(1)[0004],SYM[KR571301A1B4]>>>>[163881][KR571301A1B4],[9b881][KR571301A1B4]

(1)[0005],SYM[KR5713027R36]>>>>[163ba1][KR5713027R36],[9bba1][KR5713027R36]

(1)[0006],SYM[KR5713037R34]>>>>[163ec1][KR5713037R34],[9bec1][KR5713037R34]

(1)[0007],SYM[KR571901A586]>>>>[1641e1][KR571901A586],[9c1e1][KR571901A586]

(1)[0008],SYM[KR572501A3B6]>>>>[164501][KR572501A3B6],[9c501][KR572501A3B6]

(1)[0009],SYM[KR572502A3B5]>>>>[164821][KR572502A3B5],[9c821][KR572502A3B5]

(1)[0010],SYM[KR572503A3B4]>>>>[164b41][KR572503A3B4],[9cb41][KR572503A3B4]

(2)[0001],SYM[HK0000050325]>>>>[162f21][HK0000050325],[9af21][HK0000050325]

(2)[0002],SYM[KR5707017R97]>>>>[163241][KR5707017R97],[9b241][KR5707017R97]

(2)[0003],SYM[KR5713017R38]>>>>[163561][KR5713017R38],[9b561][KR5713017R38]

(2)[0004],SYM[KR571301A1B4]>>>>[163881][KR571301A1B4],[9b881][KR571301A1B4]

(2)[0005],SYM[KR5713027R36]>>>>[163ba1][KR5713027R36],[9bba1][KR5713027R36]

(2)[0006],SYM[KR5713037R34]>>>>[163ec1][KR5713037R34],[9bec1][KR5713037R34]

(2)[0007],SYM[KR571901A586]>>>>[1641e1][KR571901A586],[9c1e1][KR571901A586]

(2)[0008],SYM[KR572501A3B6]>>>>[164501][KR572501A3B6],[9c501][KR572501A3B6]

(2)[0009],SYM[KR572502A3B5]>>>>[164821][KR572502A3B5],[9c821][KR572502A3B5]

(2)[0010],SYM[KR572503A3B4]>>>>[164b41][KR572503A3B4],[9cb41][KR572503A3B4]

(3)[0001],SYM[HK0000050325]>>>>[162f21][HK0000050325],[9af21][HK0000050325]

(3)[0002],SYM[KR5707017R97]>>>>[163241][KR5707017R97],[9b241][KR5707017R97]

(3)[0003],SYM[KR5713017R38]>>>>[163561][KR5713017R38],[9b561][KR5713017R38]

(3)[0004],SYM[KR571301A1B4]>>>>[163881][KR571301A1B4],[9b881][KR571301A1B4]

(3)[0005],SYM[KR5713027R36]>>>>[163ba1][KR5713027R36],[9bba1][KR5713027R36]

(3)[0006],SYM[KR5713037R34]>>>>[163ec1][KR5713037R34],[9bec1][KR5713037R34]

(3)[0007],SYM[KR571901A586]>>>>[1641e1][KR571901A586],[9c1e1][KR571901A586]

(3)[0008],SYM[KR572501A3B6]>>>>[164501][KR572501A3B6],[9c501][KR572501A3B6]

(3)[0009],SYM[KR572502A3B5]>>>>[164821][KR572502A3B5],[9c821][KR572502A3B5]

(3)[0010],SYM[KR572503A3B4]>>>>[164b41][KR572503A3B4],[9cb41][KR572503A3B4]

*/

//kse1, kse2, kse3는 같은 주소를 공유하므로, kse1이 변경되면 kse2, kse3도 참조하는 주소가 함께 변경(공유)되어진다.

//kse1, kse2, kse3는 같은 주소를 공유하므로, kse1이 변경되면 kse2, kse3도 참조하는 주소가 함께 변경(공유)되어진다.

//kse1, kse2, kse3는 같은 주소를 공유하므로, kse1이 변경되면 kse2, kse3도 참조하는 주소가 함께 변경(공유)되어진다.

//kse1, kse2, kse3는 같은 주소를 공유하므로, kse1이 변경되면 kse2, kse3도 참조하는 주소가 함께 변경(공유)되어진다.

//kse1, kse2, kse3는 같은 주소를 공유하므로, kse1이 변경되면 kse2, kse3도 참조하는 주소가 함께 변경(공유)되어진다.

//kse1, kse2, kse3는 같은 주소를 공유하므로, kse1이 변경되면 kse2, kse3도 참조하는 주소가 함께 변경(공유)되어진다.

//kse1, kse2, kse3는 같은 주소를 공유하므로, kse1이 변경되면 kse2, kse3도 참조하는 주소가 함께 변경(공유)되어진다.

//kse1, kse2, kse3는 같은 주소를 공유하므로, kse1이 변경되면 kse2, kse3도 참조하는 주소가 함께 변경(공유)되어진다.

 

/*SAMPLE DATA:A0011.dat

A0011HK000005032500000001A900050  중국원양자원                            CHINA OCEAN                             2016020400002FSN0000N00N1N00NNNNN000000000137105    00NN    NNNNNNN NN NN NN000003305100000330500000228404100000000751338750500000429500000231500000231000000000000000000310020090522000000096359369N+000000000+000000N+000004765+000069NY00000000N0000000                                000000000000000000001125666856000Y0000700007000010000700001000N0000000000000000000000000000000100001                      HKD344NYYYYYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR5707017R9700000002F707017R9동양 강남대 1호                         TongYang Kangnam 1                      2016020400002BCN0000N00N1N00NNNNN                      N  07NNNNNNN NN NN NN000005000300000500000000000000000000000000000000000000650000000350000000352000000500000000000500020051209000000001010764N+000000000+000000 +000000000+000000 N00000000 00000002005091420170913                000000000000000000005053820000000N0000700000000000000000000000N0000000000000000000000000000000100000                      KRW410NNNNNYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR5713017R3800000003F713017R3산은건대사랑1-1                         KDBKonkukAsset1-1                       2016020400003BCN0000N00N1N00NNNNN                      N  03NNNNNNN NN NN NN000005070300000507000000000000000000000000000000000000659000000355000000351000000500000000000500020050520000000002039243N+000000000+000000 +000000000+000000 N00000000 00000002005032820230327                000000000000000000010196215000000N0000700000000000000000000000N0000000000000000000000000000000100000                      KRW410NNNNNYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR571301A1B400000004F71301A1BKDB월지급식안심튼튼제2호                KDB Anshim TeunTeun Fund No.2           2016020400004BCN0000N00N1N00NNNNN                      N  01NNNNNNN NN NN NN000000815300000081500000000000000000000000000000000000105500000057100000066000000100000000000100020120224000000010605957N+000000000+000000 +000000000+000000 N00000000 00000002011112820211128                000000000000000000010605957000000N0000700000000000000000000000N0000000000000000000000000000000100000                      KRW410NNNNNYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR5713027R3600000005F713027R3산은건대사랑1-2                         KDBKonkukAsset1-2                       2016020400005BCN0000N00N1N00NNNNN                      N  03NNNNNNN NN NN NN000005050300000505000000000000000000000000000000000000656000000354000000351000000500000000000500020050520000000000620572N+000000000+000000 +000000000+000000 N00000000 00000002005032820230327                000000000000000000003102860000000N0000700000000000000000000000N0000000000000000000000000000000100000                      KRW410NNNNNYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR5713037R3400000006F713037R3산은건대사랑2                           KDBKonkukAsset2                         2016020400005BCN0000N00N1N00NNNNN                      N  03NNNNNNN NN NN NN000005060300000506000000000000000000000000000000000000657000000355000000351000000500000000000500020050520000000002001000N+000000000+000000 +000000000+000000 N00000000 00000002005032820230327                000000000000000000010005000000000N0000700000000000000000000000N0000000000000000000000000000000100000                      KRW410NNNNNYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR571901A58600000007F71901A58KB서울햇빛발전소특별자산                KB Seoul Solar Special Asset            2016020400004BCN0000N00N1N00NNNNN                      N  07NNNNNNN NN NN NN000001015300000101500000000000000000000000000000000000131500000071500000070000000100000000000100020151022000000008180797N+000000000+000000 +000000000+000000 N00000000 00000002015081720180703                000000000000000000008180797000000N0000700000000000000000000000N0000000000000000000000000000000100000                      KRW410NNNNNYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR572501A3B600000008F72501A3B신한BNPP서울시지하철9호선1호            SHBNPP Seoul Metro 9 No.1               2016020400003BCN0000N00N1N00NNNNN                      N  07NNNNNNN NN NN NN000001020300000102000000000000000000000000000000000000132500000071500000070000000100000000000100020140221000000025000000N+000000000+000000 +000000000+000000 N00000000 00000002013112720180214                000000000000000000025000000000000N0000700000000000000000000000N0000000000000000000000000000000100000                      KRW410NNNNNYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR572502A3B500000009F72502A3B신한BNPP서울시지하철9호선2호            SHBNPP Seoul Metro 9 No.2               2016020400002BCN0000N00N1N00NNNNN                      N  07NNNNNNN NN NN NN000001050300000105000000000000000000000000000000000000136500000073500000070000000100000000000100020140221000000025000000N+000000000+000000 +000000000+000000 N00000000 00000002013112720190214                000000000000000000025000000000000N0000700000000000000000000000N0000000000000000000000000000000100000                      KRW410NNNNNYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR572503A3B400000010F72503A3B신한BNPP서울시지하철9호선3호            SHBNPP Seoul Metro 9 No.3               2016020400001BCN0000N00N1N00NNNNN                      N  07NNNNNNN NN NN NN000001000300000100000000000000000000000000000000000000130000000070000000070000000100000000000100020140221000000025000000N+000000000+000000 +000000000+000000 N00000000 00000002013112720200214                000000000000000000025000000000000N0000700000000000000000000000N0000000000000000000000000000000100000                      KRW410NNNNNYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR572504A3B300000011F72504A3B신한BNPP서울시지하철9호선4호            SHBNPP Seoul Metro 9 No.4               2016020400001BCN0000N00N1N00NNNNN                      N  07NNNNNNN NN NN NN000001020300000102000000000000000000000000000000000000132500000071500000070000000100000000000100020140221000000025000000N+000000000+000000 +000000000+000000 N00000000 00000002013112720210216                000000000000000000025000000000000N0000700000000000000000000000N0000000000000000000000000000000100000                      KRW410NNNNNYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR5737027S7500000012F737027S7PAM부동산3호                            PAM Real Estate 3                       2016020400001BCN0000N00N1N00NNNNN                      N  03NNNNNNN NN NN NN000005220300000522000000000000000000000000000000000000678000000366000000244000000500000000000500020090424000000027885679N+000000000+000000 +000000000+000000 N00000000 00000002006072020170220                000000000000000000139428395000000N0000700000000000000000000000N0000000000000000000000000000000100000                      KRW410NNNNNYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR574401722300000013F74401722맵스프런티어브라질1                     MiraeassetMAPSBrazilTrust 1             2016020400005BCN0000N00N1N00NNNNN                      N  03NNNNNNN NN NN NN000000480300000048000000000000000000000000000000000000062400000033600000020000000100000000000100020120511000000080000000N+000000000+000000 +000000000+000000 N00000000 00000002012021720181231                000000000000000000080000000000000N0000700000000000000000000000N0000000000000000000000000000000100000                      KRW410NNNNNYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR700002000800000014A000020  동화약품                                DongwhaPharm                            2016020400002STN0000N00N1N00NNNNN000009000032102    03YN    YNNNNNN NN NN NN000009510100000951000000161193900000001545183455000001235000000666000000665000000100000000000000019760324000000027931470N+000000177+005373N+000008225+000116NN00000080N0000008                                000000000000000000027931470000000Y0000700007000010000700001000N0000000000000000000000000000000100001                      KRW410NYYYYYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR700003000700000015A000030  우리은행                                Woori Bank                              2016020400005STN0000N00N1N00NNNNN000021022116401    61NY    YYYNNNY NN NN NN000008580100000858000000096828500000000832510939000001115000000601000000686000000500000000001707620141119000000676000000N+000001621+000529N+000026592+000032NN00000500N0000058                                000000000000000003381391855000000Y0000700007000010000700001000N0000000000000000000000000000000100001                      KRW410NYYYYYY   +00000000000 Y    NNNN000080000000  N N        Y0  YY                                                           NN                                                                                                                                                       

A0011KR700004000600000016A000040  KR모터스                                KR MOTORS                               2016020400005STN0000N00N1N00NNNNN000015000033109    03YN    YNNNNNN NN NN NN000001175100000117500000182254600000000215271575000000152500000082500000082000000050000000000000019760525000000175307764N+000000000+000000N+000000385+000305NY00000000N0000000                                000000000000000000087653882000000Y0000700007000010000700001000N0000000000000000000000000000000100001                      KRW410NYYYYYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR700005000500000017A000050  경방                                    Kyungbang                               2016020400002STN0000N00N1N00NNNNN000006000031301    82YN    YNNNNNN NN NN NN000203000100020300000000000158100000000031873900000026350000014250000014210000000500000000000000019560303000000002741527N+000004190+004845N+000236250+000086NN00000500N0000002                                000000000000000000013707635000000Y0000700007000010000700001000N0000000000000000000000000000000100001                      KRW410NYYYYYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR700006000400000018A000060  메리츠화재                              Meritz Insurance                        2016020400005STN0000N00N1N00NNNNN000021025116501    02NN    YNNNNNN NN NN NN000014800100001480000000010811800000000160339960000001920000001040000001036000000050000000000000019560702000000105963000N+000001131+001309N+000013190+000112NN00000380N0000026                                000000000000000000052981500000000Y0000700007000010000700001000N0000000000000000000000000000000100001                      KRW410NYYYYYY   +00000000000 N    YNNN000070000000  N N        Y0  NN                                                           NN                                                                                                                                                       

A0011KR700007000300000019A000070  삼양홀딩스                              SAMYANGHOLDINGS                         2016020400003STN0000N00N1N00NNNNN000026000137105    72NN    YNNNNNN NN NN NN000177000100017700000000002857900000000504358400000023000000012400000014160000000500000000000000019681227000000008564271N+000000327+054128N+000148290+000119NN00001500N0000008                                000000000000000000042821355000000Y0000700007000010000700001000N0000000000000000000000000000000100001                      KRW410NYYYYYY   +00000000000 N    NNNN000080000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR700007100100000020A000075  삼양홀딩스우                            SAMYANGHOLDINGS(1P)                     2016020400001STN0000N00N1N00NNNNN000026000137105    00NN    YNNNNNN NN NN NN000077800100007780000000000017700000000001351540000010100000005450000005446000000500000000000000019920221000000000304058N+000000000+000000Y+000000000+000000YN00001550N0000020                                000000000000000000001520290000000Y0000700007000010000700001001N0000000000000000000000000000000100001                      KRW410NYYYYYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

A0011KR700008000200000021A000080  하이트진로                              HITEJINRO                               2016020400004STN0000N00N1N00NNNNN000005000031101    72YN    YNNNNNN NN NN NN000030900100003090000000033727900000001036100460000004015000002165000002472000000500000000004100020091019000000070133611N+000000295+010475N+000018628+000166NN00001000N0000032                                000000000000000000363168055000000Y0000700007000010000700001000N0000000000000000000000000000000100001                      KRW410NYYYYYY   +00000000000 N    NNNN000080000000  N N        N0  YY                                                           NN                                                                                                                                                       

A0011KR700008200800000022A000087  하이트진로2우B                          HITEJINRO(2PB)                          2016020400004STN0000N00N1N00NNNNN000005000031101    00YN    YNNNNNN NN NN NN000019500100001950000000000148600000000002878700000002535000001365000001365000000500000000000500020110926000000001130138N+000000000+000000Y+000000000+000000YN00001050N0000054                                000000000000000000005650690000000Y0000700007000010000700001002N0000000000000000000000000000000100001                      KRW410NYYYYYY   +00000000000 N    NNNN000070000000  N N        N0  NN                                                           NN                                                                                                                                                       

*/

//구조체에 맞는 파일을 읽어들여서 해당변수로 정렬하는 프로그램(정렬시에 스택변수사용시)

//구조체에 맞는 파일을 읽어들여서 해당변수로 정렬하는 프로그램(정렬시에 스택변수사용시)

//구조체에 맞는 파일을 읽어들여서 해당변수로 정렬하는 프로그램(정렬시에 스택변수사용시)

//구조체에 맞는 파일을 읽어들여서 해당변수로 정렬하는 프로그램(정렬시에 스택변수사용시)

 

//CALL BY VALUE & CALL BY REFERENCE

//CALL BY VALUE & CALL BY REFERENCE

//CALL BY VALUE & CALL BY REFERENCE

//CALL BY VALUE & CALL BY REFERENCE

 

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

 

struct KSEMASTBATCH {

    char dataclass[2];

    char infoclass[2];

    char marketclass;

    char stockcode[12];

    char serialno[8];

    char abbrstockcode[9];

    char abbrstocknamekor[40];

    char abbrstocknameeng[40];

    char senddate[8];

    char infodivisiongroupno[5];

    char stockgroupid[2];

    char isunittrade;

    char exclasscode[2];

    char facevaluechangeclasscode[2];

    char isopenpricebasedstandardprice;

    char isrevaluationstockreason[2];

    char isstandardpricechangestock;

    char israndomendpossibillty;

    char ismarketalarmdangernotice;

    char marketalarmclasscode[2];

    char iscorporategovernancefine;

    char ismanagementstock;

    char isinsinceritypublicnewsappoint;

    char isbackdoorlisting;

    char istradestop;

    char indexbusinesstypelarge[3];

    char indexbusinesstypemedium[3];

    char indexbusinesstypesmall[3];

    char standardindustrycode[10];

    char businesstypekospi200;

    char listpricesizecode;

    char ismanufactureindustry;

    char iskrx100stock;

    char isdividendindexstock;

    char iscorporategovernanceindexstock;

    char investorganclasscode[2];

    char iskospi;

    char iskospi100;

    char iskospi50;

    char iskrxsectorindexcar;

    char iskrxsectorindexsemiconductor;

    char iskrxsectorindexbio;

    char iskrxsectorindexfinance;

    char iskrxsectorindexit;

    char iskrxsectorindexenergychemical;

    char iskrxsectorindexsteel;

    char iskrxsectorindexnecessary;

    char iskrxsectorindexmediacomm;

    char iskrxsectorindexconstruction;

    char iskrxsectorindexfinanceservice;

    char iskrxsectorindexstock;

    char iskrxsectorindexship;

    char standardprice[9];

    char ff;

};

#define SZ_KSEMASTBATCH sizeof(struct KSEMASTBATCH)
#define MAX_KSEMASTBATCH_CNT 1024

 

int main(int argc, char *argv[])

{

    FILE *fp=NULL;

char rbuf[4096];

    struct KSEMASTBATCH *kse1[MAX_KSEMASTBATCH_CNT];

struct KSEMASTBATCH *kse2[MAX_KSEMASTBATCH_CNT];

struct KSEMASTBATCH *kse3[MAX_KSEMASTBATCH_CNT];

struct KSEMASTBATCH *kse_src[MAX_KSEMASTBATCH_CNT];

struct KSEMASTBATCH *kse_tmp;

struct KSEMASTBATCH kse_1_address[MAX_KSEMASTBATCH_CNT];

struct KSEMASTBATCH kse_2_address[MAX_KSEMASTBATCH_CNT];

struct KSEMASTBATCH kse_address_tmp;

int ii,kk,mm,ff,jj,cnt;

 

if(argc != 2)

{

     return(-1);

}

 

if((fp=fopen(argv[1], "rt"))==NULL) 

{

     return(-1);

}

 

kk=0;

while(1)

{

     memset(rbuf,0x00,sizeof(rbuf));

if(fgets(rbuf, sizeof(rbuf), fp)==NULL) break;

 

//STACK REGISTER & POINTER REGISTER

//STACK REGISTER & POINTER REGISTER

//STACK REGISTER & POINTER REGISTER

//STACK REGISTER & POINTER REGISTER

memcpy(&kse_1_address[kk], rbuf, SZ_KSEMASTBATCH);

//memcpy(&kse_2_address[kk], rbuf, SZ_KSEMASTBATCH);

kse_2_address[kk] = kse_1_address[kk];

 

//[kse1 == kse2 == kse3] SAME ADDRESS POINTER

//[kse1 == kse2 == kse3] SAME ADDRESS POINTER

//[kse1 == kse2 == kse3] SAME ADDRESS POINTER

//[kse1 == kse2 == kse3] SAME ADDRESS POINTER

kse1[kk]     = &kse_1_address[kk];

kse2[kk]     = &kse_1_address[kk];

kse3[kk]     = &kse_1_address[kk];

kse_src[kk]  = &kse_2_address[kk];

 

kk++;

 

if(kk>1000) break;

}

cnt=kk;

if(fp != NULL) fclose(fp);

 

    //ASCENDING SORT BY SYMBOL(POINTER VARIABLE)

//ASCENDING SORT BY SYMBOL(POINTER VARIABLE)

//ASCENDING SORT BY SYMBOL(POINTER VARIABLE)

for(kk=0; kk<cnt; kk++)

{

for(ii=kk+1; ii<cnt; ii++)

{

if(memcmp(kse1[kk]->stockcode,kse1[ii]->stockcode,sizeof(kse1[ii]->stockcode))>0)

{

kse_tmp=NULL;

 

kse_tmp  = kse1[kk];

kse1[kk] = kse1[ii];

kse1[ii] = kse_tmp;

}

}

}

 

//ASCENDING SORT BY SYMBOL(STACK VARIABLE)

//ASCENDING SORT BY SYMBOL(STACK VARIABLE)

//ASCENDING SORT BY SYMBOL(STACK VARIABLE)

for(kk=0; kk<cnt; kk++)

{

for(ii=kk+1; ii<cnt; ii++)

{

if(memcmp(kse_1_address[kk].stockcode,kse_1_address[ii].stockcode,sizeof(kse_1_address[ii].stockcode))>0)

{

kse_address_tmp   = kse_1_address[kk];

kse_1_address[kk] = kse_1_address[ii];

kse_1_address[ii] = kse_address_tmp;

}

}

}

 

//DESCENDING SORT BY SYMBOL(STACK VARIABLE)

//DESCENDING SORT BY SYMBOL(STACK VARIABLE)

//DESCENDING SORT BY SYMBOL(STACK VARIABLE)

for(kk=0; kk<cnt; kk++)

{

for(ii=kk+1; ii<cnt; ii++)

{

if(memcmp(kse_2_address[kk].stockcode,kse_2_address[ii].stockcode,sizeof(kse_2_address[ii].stockcode))<0)

{

kse_address_tmp   = kse_2_address[kk];

kse_2_address[kk] = kse_2_address[ii];

kse_2_address[ii] = kse_address_tmp;

}

}

}

 

cnt = 5;

for(kk=0; kk<cnt; kk++)

{

     printf("(1)[%06x],SYM[%.12s]>>>>[%06x][%.12s],[%06x][%.12s]\n", 

     kk+1, kse_1_address[kk].stockcode, kse_1_address[kk].stockcode, kse1[kk]->stockcode, 

kse1[kk]->stockcode, kse_src[kk]->stockcode, kse_src[kk]->stockcode);

}

for(kk=0; kk<cnt; kk++)

{

     printf("(2)[%06x],SYM[%.12s]>>>>[%06x][%.12s],[%06x][%.12s]\n", 

     kk+1, kse_1_address[kk].stockcode, kse_1_address[kk].stockcode, kse2[kk]->stockcode, 

kse2[kk]->stockcode, kse_src[kk]->stockcode, kse_src[kk]->stockcode);

}

for(kk=0; kk<cnt; kk++)

{

     printf("(3)[%06x],SYM[%.12s]>>>>[%06x][%.12s],[%06x][%.12s]\n", 

     kk+1, kse_1_address[kk].stockcode, kse_1_address[kk].stockcode, kse3[kk]->stockcode, 

kse3[kk]->stockcode, kse_src[kk]->stockcode, kse_src[kk]->stockcode);

}

for(kk=0; kk<cnt; kk++)

{

     printf("(4)[%06x],SYM[%.12s]>>>>[%06x][%.12s],[%06x][%.12s]\n", 

     kk+1, kse_2_address[kk].stockcode, kse_2_address[kk].stockcode, kse3[kk]->stockcode, 

kse3[kk]->stockcode, kse_src[kk]->stockcode, kse_src[kk]->stockcode);

}

return(0);

}

 

 

/*결과

C:\Users\Downloads>20 A0011.dat

(1)[000001],SYM[HK0000050325]>>>>[162f21][HK0000050325],[162f21][KR7182490003]

(1)[000002],SYM[KR5707017R97]>>>>[163241][KR5707017R97],[163241][KR7182480004]

(1)[000003],SYM[KR5713017R38]>>>>[163561][KR5713017R38],[163561][KR7181710005]

(1)[000004],SYM[KR571301A1B4]>>>>[163881][KR571301A1B4],[163881][KR7181480005]

(1)[000005],SYM[KR5713027R36]>>>>[163ba1][KR5713027R36],[163ba1][KR7181450008]

(2)[000001],SYM[HK0000050325]>>>>[162f21][HK0000050325],[162f21][KR7182490003]

(2)[000002],SYM[KR5707017R97]>>>>[163241][KR5707017R97],[163241][KR7182480004]

(2)[000003],SYM[KR5713017R38]>>>>[163561][KR5713017R38],[163561][KR7181710005]

(2)[000004],SYM[KR571301A1B4]>>>>[163881][KR571301A1B4],[163881][KR7181480005]

(2)[000005],SYM[KR5713027R36]>>>>[163ba1][KR5713027R36],[163ba1][KR7181450008]

(3)[000001],SYM[HK0000050325]>>>>[162f21][HK0000050325],[162f21][KR7182490003]

(3)[000002],SYM[KR5707017R97]>>>>[163241][KR5707017R97],[163241][KR7182480004]

(3)[000003],SYM[KR5713017R38]>>>>[163561][KR5713017R38],[163561][KR7181710005]

(3)[000004],SYM[KR571301A1B4]>>>>[163881][KR571301A1B4],[163881][KR7181480005]

(3)[000005],SYM[KR5713027R36]>>>>[163ba1][KR5713027R36],[163ba1][KR7181450008]

(4)[000001],SYM[KR7182490003]>>>>[09af21][HK0000050325],[162f21][KR7182490003]

(4)[000002],SYM[KR7182480004]>>>>[09b241][KR5707017R97],[163241][KR7182480004]

(4)[000003],SYM[KR7181710005]>>>>[09b561][KR5713017R38],[163561][KR7181710005]

(4)[000004],SYM[KR7181480005]>>>>[09b881][KR571301A1B4],[163881][KR7181480005]

(4)[000005],SYM[KR7181450008]>>>>[09bba1][KR5713027R36],[163ba1][KR7181450008]

*/

+ Recent posts