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