2008년 09월 21일
Qt 파일 입출력
파일 불러오기

224     QFile *file = new QFile;
225     QString filename = "supplies.dat"; // supplies.dat 파일을 열음
226     file->setFileName(filename);
227     file->open(QIODevice::ReadOnly);
228
229     QTextStream read(file); // Qt에서 파일 데이터를 처리할때는 QTextStream이나 QDataStream 클래스를 이용하면 보다 편리함
230     for(int i = 0; i < 16; i++)
231     {
232         QString tmp = read.readLine(); // supplies.dat 파일에서 한줄씩 읽음
237         QStringList tmpList = tmp.split(","); // ,를 기준으로 토큰을 나눠서 QStringList 자료형의 tmpList에 넣음(나눈 토큰들을 가지는 1차원 배열이 만들어진다고 생각하면 됨)
238         supplies[i][0] = tmpList[0]; // 나눈 토큰들을 집어넣음
239         supplies[i][1] = tmpList[1];
240         supplies[i][2] = tmpList[2];
241         supplies[i][3] = tmpList[3];
242         supplies[i][4] = tmpList[4];
243     }
244
245     file->close();


파일 저장하기

179     QFile *file = new QFile;
180     QString filename = "supplies.dat";
181     file->setFileName(filename);
182     file->open(QIODevice::WriteOnly);
183
184     for(int i = 0; i < 16; i++)
185     {
186         supplies[i][1] = sup_table_item_value[i]->text();
187
188         QString _str = QString("%1,%2,%3,%4,%5\n")
189                         .arg(supplies[i][0])
190                         .arg(supplies[i][1])
191                         .arg(supplies[i][2])
192                         .arg(supplies[i][3])
193                         .arg(supplies[i][4]);
194         QByteArray str; // write()의 인자로 넘겨주기 위해서는 QByteArray자료형으로 넘겨줘야 한다.
195         str.append(_str);
196         file->write(str);
197     }  
198
199     file->close();

supplies.dat 내용

  1 2008-09-10,222,222,1000,200
  2 2008-09-10,111,111,1000,200
  3 2008-09-10,333,323,1000,200
  4 2008-09-10,333,323,1000,200
  5 2008-09-10,333,323,1000,200
  6 2008-09-10,333,323,1000,200
  7 2008-09-10,333,323,1000,200
  8 2008-09-10,333,323,1000,200
  9 2008-09-10,333,323,1000,200
 10 2008-09-10,333,323,1000,200
 11 2008-09-10,333,323,1000,200
 12 2008-09-10,123,123,1000,200
 13 2008-09-10,333,323,1000,200
 14 2008-09-10,409,409,1000,200
 15 2008-09-10,333,323,1000,200
 16 2008-09-10,333,323,1000,200

by 임준성 | 2008/09/21 14:20 | 트랙백 | 덧글(3)
트랙백 주소 : http://limjunsung.egloos.com/tb/854389
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 게르드 at 2009/08/10 16:23
휴.. 덕분에 문제 해결했습니다..QFile 의 open 할 때 IoReadOnly 가 정의되지 않았다고 계속 에러 내뱉어서 헤더파일 뒤지기 전에 검색했더니 답이 있네요..^^
Commented by 코딩개못함 at 2017/03/04 14:23
supplies 는 어디에 선언이 되있는 건가요?
Commented by 코딩개못함 at 2017/03/04 14:23
supplies 는 어디에 선언이 되있는 건가요? qstring으로 선언이 되있는 배열인가요?

:         :

:

비공개 덧글



<< 이전 페이지 | 다음 페이지 >>