C Programming

이민예 2019-08-12

프로젝트 기간: 2018.01 - 2018.02

한화 자산 운용사 데이터 API 개발

한화 자산 운용사에게 사내 데이터를 전달하는 API 개발

hanwahAPI.c
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#define MAX_FILE_NAME 100
#define n 3
#define bufSize 1024


typedef struct
{
	char	CompanyStockCode					[ 6];
	char	EvaluationYear						[ 4];
	char	ThemeCode							[ 1];
	char	IndicatorCode						[ 4];
	char	IndicatorScore						[ 10];	
	char	IndicatorMax						[ 10];
	char	IndicatorAvg						[ 10];
	char	ALL_IndustryAVG_Sustainability		[ 10];
	char	THEME_AVG_Environment				[ 10];
	char	THEME_AVG_Social					[ 10];
	char	THEME_AVG_Governance				[ 10];
	char	THEME_Min_Environment				[ 10];
	char	THEME_IndiustryRanking_Environment	[ 1];
	char	THEME_Max_Environment				[ 10];
	char	THEME_Min_Social					[ 10];
	char	THEME_IndiustryRanking_Social		[ 1];
	char	THEME_Max_Social					[ 10];
	char	THEME_Min_Governance				[ 10];
	char	THEME_IndiustryRanking_Governance	[ 1];
	char	THEME_Max_Governance				[ 10];
	char	Indicator_Ranking_Min				[ 10];
	char	Indicator_Ranking					[ 1];
	char	Indicator_Ranking_Max				[ 10];
	char	ALL_Ranking_Sustainability			[ 1];	
	char	THEME_SCORE_Environment				[ 10];
	char	THEME_SCORE_Social					[ 10];
	char	THEME_SCORE_Governance				[ 10];
	char	ALL_SCORE_Sustainability			[ 10];
	char 	UpdateDate							[ 10];
} ESG_INFO;





int main()
{
	FILE *fp;
	FILE *fp_write;

	char filename[MAX_FILE_NAME] = "hanwha_indicator_0201_withnull.txt";
	char sWriteFileName[MAX_FILE_NAME] = "hanwha_indicator_new.txt";
	int		i = 0;
	char line[bufSize];
	ESG_INFO	stEsgInfo[10000];
	char*	token;
	
	fp = fopen(filename, "r");

	
	if (fp == NULL)
    {
        printf("Could not open file %s", filename);
        return 0;
    }
		
	
	int cnt = 0;
	/* read line by line */
	printf("while\n");
	
	while (fgets(line, sizeof(line), fp) != NULL){
	    line[strlen(line) - 1] = '\0'; // eat the newline fgets() stores
	    
	    /* buf is line */
	    printf("%s\n", line);
	    
	    memset(&(stEsgInfo[cnt]), 0x20, sizeof(stEsgInfo[cnt]));
	    
	    token = strtok(line, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].CompanyStockCode, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].EvaluationYear, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].ThemeCode, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].IndicatorCode, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].IndicatorScore, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].IndicatorMax, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].IndicatorAvg, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].ALL_IndustryAVG_Sustainability, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].THEME_AVG_Environment, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].THEME_AVG_Social, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].THEME_AVG_Governance, token, strlen(token));

		
		token = strtok(NULL, "\t");	
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].THEME_Min_Environment	, token, strlen(token));


		token = strtok(NULL, "\t");	
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].THEME_IndiustryRanking_Environment, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].THEME_Max_Environment, token, strlen(token));
		
		token = strtok(NULL, "\t");	
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].THEME_Min_Social, token, strlen(token));


		token = strtok(NULL, "\t");	
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].THEME_IndiustryRanking_Social, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].THEME_Max_Social, token, strlen(token));
		
		token = strtok(NULL, "\t");	
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].THEME_Min_Governance, token, strlen(token));


		token = strtok(NULL, "\t");	
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].THEME_IndiustryRanking_Governance, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].THEME_Max_Governance, token, strlen(token));	
		
		
		token = strtok(NULL, "\t");	
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].Indicator_Ranking_Min, token, strlen(token));


		token = strtok(NULL, "\t");	
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].Indicator_Ranking, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].Indicator_Ranking_Max, token, strlen(token));	
			
		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].ALL_Ranking_Sustainability, token, strlen(token));
		
		
		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].THEME_SCORE_Environment, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].THEME_SCORE_Social, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].THEME_SCORE_Governance, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].ALL_SCORE_Sustainability, token, strlen(token));


		token = strtok(NULL, "\t");
		printf("token:[%s], strlen(token):[%zu]\n", token, strlen(token));
		memcpy(stEsgInfo[cnt].UpdateDate, token, strlen(token));
		

		token = strtok(NULL, "\t");
		printf("------------------------------------\n");
	    
	    
	    
	    
		
	
		cnt ++;
	}


	/* close */
	fclose(fp);
	

	memset(sWriteFileName, 0x00, sizeof(sWriteFileName));
	sprintf(sWriteFileName, "%s", "hanwha_indicator_new.txt");
	printf("sWriteFileName:[%s]\n", sWriteFileName);

	fp_write = fopen (sWriteFileName, "w");
	if (fp_write == NULL)
	{
		printf("Failed to %s open file\n", sWriteFileName);

		return -1;
	}

	char* naval = "NULL";
	char naval_nwd = '\0';
	char* str_a = "h111111";
	char* str_b = "h22222";
	for(i=0; i < 1; i++)
	{



		
		fprintf(fp_write, "%.6s%.4s%.1s%.4s%.10s%.10s%.10s%.10s%.10s%.10s%.10s%.10s%.1s%.10s%.10s%.1s%.10s%.10s%.1s%.10s%.10s%.1s%.10s%.1s%.10s%.10s%.10s%.10s%.10s\n",
				stEsgInfo[i].CompanyStockCode,
				stEsgInfo[i].EvaluationYear,
				stEsgInfo[i].ThemeCode,
				stEsgInfo[i].IndicatorCode,
				stEsgInfo[i].IndicatorScore,
				stEsgInfo[i].IndicatorMax,
				stEsgInfo[i].IndicatorAvg,
				stEsgInfo[i].ALL_IndustryAVG_Sustainability,
				stEsgInfo[i].THEME_AVG_Environment,
				stEsgInfo[i].THEME_AVG_Social,
				stEsgInfo[i].THEME_AVG_Governance,	
				
				stEsgInfo[i].THEME_Min_Environment,
				stEsgInfo[i].THEME_IndiustryRanking_Environment,
				stEsgInfo[i].THEME_Max_Environment,
				stEsgInfo[i].THEME_Min_Social,					

				stEsgInfo[i].THEME_IndiustryRanking_Social,
				stEsgInfo[i].THEME_Max_Social,
				stEsgInfo[i].THEME_Min_Governance,
				stEsgInfo[i].THEME_IndiustryRanking_Governance,					
				stEsgInfo[i].THEME_Max_Governance,
				stEsgInfo[i].Indicator_Ranking_Min,
				stEsgInfo[i].Indicator_Ranking,
				stEsgInfo[i].Indicator_Ranking_Max,	

				stEsgInfo[i].ALL_Ranking_Sustainability,
				stEsgInfo[i].THEME_SCORE_Environment,
				stEsgInfo[i].THEME_SCORE_Social,
				stEsgInfo[i].THEME_SCORE_Governance,
				stEsgInfo[i].ALL_SCORE_Sustainability,
				stEsgInfo[i].UpdateDate					
				);
		
	}

	fclose(fp_write);

	return 0;
}


Last updated