gimmickbutreal
[입출력/c++] 새로운 텍스트 파일로 출력하는 프로그램 본문
텍스트 파일을 입력받아 새로운 텍스트 파일로 출력하는 프로그램 작성
공간분석 1장 실습
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
#include<fstream>
#include<iostream>
using namespace std;
short** nData; // 자료를 저장할 2차원 배열
int nCol, nRow; // 행의 수 , 열의 수
char chTemp[20]; // 임시로 문자를 저장할 공간
double dblX, dblY; // double형 변수 선언
int nCellSize, nNoData; // int형 변수 선언
int main() {
ifstream fin; // fin이라는 ifstream 객체 생성
// ifstream = input file stream
fin.open("sample.txt", ios::in);
// ios::in is used when you want to read from a file
fin >> chTemp >> nCol;
fin >> chTemp >> nRow;
fin >> chTemp >> dblX;
fin >> chTemp >> dblY;
fin >> chTemp >> nCellSize;
fin >> chTemp >> nNoData;
// fin 선언하고 >> 할때마다 공백, 엔터 기준으로 내용 담음
// 메모리 할당
nData = new short*[nRow];
for (int i = 0; i < nRow; i++) // 행렬의 크기만큼 반복
nData[i] = new short[nCol]; // short는 자료형의 한 종류로 2 byte 크기의 정수
// 2차원 배열에 할당
short nTemp;
for (int i = 0; i < nRow; i++) { // 행렬의 크기만큼 반복
for (int j = 0; j < nCol; j++) {
fin >> nTemp;
nData[i][j] = nTemp;
}
}
fin.close(); // fin 객체 닫아주기
// 화면으로 출력
ofstream fout("C_output.txt"); // fout라는 ofstream 객체 생성
// ofstream = output file stream
fout << "ncols " << nCol << endl;
fout << "nrows " << nRow << endl;
fout << "xllcorner " << dblX << endl;
fout << "yllcorner " << dblY << endl;
fout << "cellsize " << nCellSize << endl;
fout << "NODATA_value" << nNoData << endl;
// fout 선언하고 공백, 엔터 기준으로 생성
for (int i = 0; i < nRow; i++) {
for (int j = 0; j < nCol; j++) {
cout << nData[i][j] << " ";
}
cout << endl;
}
// 메모리 할당 해제
for (int i = 0; i < nRow; i++)
delete[] nData[i];
delete[] nData;
}
|
cs |
'Algorithm > C++' 카테고리의 다른 글
[백준/C++] 10718번 해설 - C++ (0) | 2022.03.10 |
---|---|
[백준/C++] 2557번 - C++ (0) | 2022.03.09 |
맥북에서 vscode 설치하는 방법 (0) | 2021.12.26 |