소연의_개발일지
Published 2024. 7. 22. 14:05
[C++] csv 파일 쓰기 개발공부/C++

추가 예정

 

 

 

예시 코드

// 헤더에 작성

// 헤더에 추가할 파일
CFileManager m_FileManager

 

 

// cpp 원하는 함수에 추가

CString strTime;
CStdioFile file;
CString strpath;
CString strFile;
CString strData;

// 로컬 타임 가져오기
SYSTEMTIME cur_time;
GetLocalTime(&cur_time);
strTime.Format(_T("%04d%02d%02d%02d%02d%02d%03ld"),
    cur_time.wYear,
    cur_time.wMonth,
    cur_time.wDay,
    cur_time.wHour,
    cur_time.wMinute,
    cur_time.wSecond,
    cur_time.wMilliseconds);

// 시드 값 설정
std::srand(static_cast<unsigned int>(std::time(0)));

// 무작위 double 숫자 생성 (소수점 이하 3~4자리)
double num1 = (std::rand() % 1000) / 1000.0; // 0.000 ~ 0.999
double num2 = (std::rand() % 10000) / 10000.0; // 0.0000 ~ 0.9999
double num3 = (std::rand() % 1000 + 1000) / 1000.0; // 1.000 ~ 1.999
double num4 = (std::rand() % 10000 + 10000) / 10000.0; // 1.0000 ~ 1.9999
double num5 = (std::rand() % 10000 + 10000) / 10000.0; // 1.0000 ~ 1.9999

// 저장될 파일 경로 설정
strFile.Format(_T("C:\\TEST\\%s\\TEST.csv"), strTime); 

// 경로에 폴더 생성
m_FileManager.XCreateDirectory(strFile);

// 저장할 데이터 임의 생성
strData.Format(_T("%.3lf, %.3lf, %.3lf, %.3lf, %.3lf"),
    num1, num2, num3, num4, num5);

// 경로의 파일을 열려고 시도

// 열지 못하면
if (!file.Open(strFile, CFile::modeReadWrite | CFile::typeText))
{	// 파일을 열어 첫번째 줄에 쓰기
    if (file.Open(strFile, CFile::modeCreate | CFile::modeReadWrite | CFile::typeText))
    {
        file.WriteString(strData);
        file.Close();
    }
}

//파일을 열면 마지막 줄에 데이터 작성하고 파일 닫기
else
{
    file.SeekToEnd();
    file.WriteString(strData);
    file.Close();
}
profile

소연의_개발일지

@ssoyxon

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!