일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- MFC
- gauge
- MelsecNet-G
- RS232
- Polling
- hivac
- CDG
- 드라이에쳐
- esc
- ATM
- 레귤레이터
- MODBUS
- Dry etcher
- Helium
- pressure
- HI-Vacuum
- ION Gauge
- rs-485
- 설비제어
- 맛집
- REGULATOR
- melsec
- PMAC
- rs-232
- VACUUM
- cluster
- 가스
- 폴링
- 시리얼통신
- Gas box
Archives
- Today
- Total
:: 진공에 대해 알려주마.
TOOLS (Type casting and ...) 본문
누군가 말했지. 프로그램 개발보다 형변환 하다가 개발 시간을 다보낸다고...
그래서 여기 모아보았다.
프로그램 개발시 필요한 형변환을 중심으로 각종 필요한 항목을 업데이트 할 예정이다.
물론 모두 테스트 완료 되었거나 실제 사용하는 Code들 이다.
C++ CString to Char* (출처 https://sggilsroom.tistory.com/126 )
char Buffer[255] = "";
CString szString;
size_t CharactersConverted = 0;
wcstombs_s(&CharactersConverted, Buffer, szString.GetLength()+1, szString, _TRUNCATE);
문자열을 구분자로 분리 함수와 호출 예제 (출처 ?)
// 스트링을 구분자로 분리
vector<string> splitString( string input, char dlim )
{
vector<string> result;
stringstream ss;
string stringBuffer;
ss.str(input);
while (getline(ss, stringBuffer, dlim))
{
result.push_back(stringBuffer);
}
return result;
}
int ReadFileAndConvertFloat()
{
FILE *fp;
char buffer[512];
char* filename = "D:\\Log\\Data.txt";
if ((fp = fopen(filename, "r")) == NULL) return -1;
while (fgets(buffer, 512, fp) != NULL)
{
// 함수 호출 (한줄을 읽어서 쉼표로 구분하여 숫자로 변환)
vector<string> result = splitString( buffer, ',' );
string str1 = result[0];
string str2 = result[1];
string str3 = result[2];
float f0 = std::stof(str1);
float f1 = std::stof(str2);
float f2 = std::stof(str3);
// .........................
}
return 0;
}
TEXT FILE READ
int ReadWriteTextFile()
{
FILE *fp;
char buffer[512];
char* filename = "D:\\Log\\Data.txt";
if ((fp = fopen(filename, "r")) == NULL) return -1;
while (fgets(buffer, 512, fp) != NULL)
{
// 함수 호출 (한줄을 읽어서 쉼표로 구분하여 숫자로 변환)
vector<string> result = splitString( buffer, ',' );
string str1 = result[0];
string str2 = result[1];
string str3 = result[2];
float f0 = std::stof(str1);
float f1 = std::stof(str2);
float f2 = std::stof(str3);
}
return 0;
}
TEXT FILE WRITE
void DataSave()
{
FILE *fp;
char buffer[512];
char* filename = "D:\\LOG\\DataPosXO.txt";
string strLine = "TEXT FILE";
if( ( fp = fopen( filename, "w" ) ) == NULL ) return;
strcpy( buffer, strLine.c_str() );
fputs( buffer, fp );
fclose( fp );
}
C++ 파일 READ/WRITE
// ConsoleApplication2.cpp : 이 파일에는 'main' 함수가 포함됩니다. 거기서 프로그램 실행이 시작되고 종료됩니다.
//
#include <atlstr.h>
#include <iostream>
#include <fstream>
#include <string>
int main()
{
std::string Path = "D:\\TextFile2.txt";
// File write
std::ofstream writeFile(Path);
if (writeFile.is_open())
{
writeFile << "example code\n";
writeFile << "text in/out\n";
writeFile << "write/ read file\n";
writeFile.close();
}
// File read by Char*
std::ifstream readFile(Path);
if (readFile.is_open())
{
char line[512];
while (!readFile.eof())
{
readFile.getline(line, sizeof(line));
std::cout << line << std::endl;
}
//
readFile.close();
}
// string형으로 바로 읽기
std::ifstream strfile(Path);
if (strfile.is_open())
{
std::string line;
const char* szline;
int nNo = 0;
double dNo = 0.0;
while ( getline (strfile, line)) // #include <string>
{
std::cout << line << std::endl;
szline = line.c_str();
nNo = atoi(line.c_str());
dNo = atof(line.c_str());
}
strfile.close();
}
}
'진공 > 노하우' 카테고리의 다른 글
MODBUS 2 (0) | 2023.10.14 |
---|---|
리부트 (0) | 2023.09.23 |
"A\0B\0C\0\0\0\0\0\0\0\0\0" (0) | 2023.04.08 |
VIEW MON of RS-485 (0) | 2022.11.20 |
시리얼 통신 (4) | 2022.09.17 |
Comments