윈플

리눅스 + QT로 코딩을 할 때, 아무생각 없이 파일 관련된 부분들을 다 .sh 파일로 만들어서 구현을 했습니다.
system()을 사용하면 결과값을 알 수 없기 때문에 QProcess 를 사용해서 .sh 스크립트로 결과값 받는 방식

일단 system()을 너무 많이 사용하는 것도 좋은건 아니지만 무엇보다 파일이 단순히 있는지 없는지 확인할 때,

ls, ll + grep 명령어를 통해 확인하는 방법보다는 access() 또는 qt에서 제공하는 라이브러리를 사용하는 방식이 더 좋다고 합니다.
( ls, ll + grep을 통해 확인 시에는 해당 파일의 쓸데없는 정보까지 얻어오는 과정이 포함되기 때문에 ... )


예를들어 /home/file.txt 파일을 확인합니다.

1. access() 

if( 0==access("/home/file.txt",0))
{
       qDebug() << "existed";


2. QFile을 사용한 방법

QFile file("/home/file.txt"); 

if( file.exists() )
{
       qDebug() << "existed";       


파일 삭제도
rm 명령어를 쉘스크립트로 사용하는 방법보다는 자체 라이브러리를 사용하자.

if( file.remove() )
{
       qDebug() << "removed";
}


기억용으로다가 정리.

Comment +0