csv 파일에서 다른 파일로 읽으려고합니다. 어떤 오류도 없으며, 왜 파일에 쓰지 않는지 이해할 수 없습니다. 어떤 도움을 주셔서 감사합니다. 임, QT에 매우 익숙합니다. 당신이 쓰기 단계에 대한 작업 예제를 찾아주십시오 제공된 코드를 기반으로QT 배열로 파일 쓰기
QString arr[581][6];
while (!file.atEnd()) {
QByteArray line = file.readLine();
for (int i=0; i<581; i++){
for(int j=0; j<6; j++){
arr[i][j]=line;
}
}
}
QString Hfilename="c:\Data.txt";
QFile fileH(Hfilename);
if (fileH.open(QIODevice::ReadWrite))
{
QTextStream stream(&fileH);
for (int i=0; i<581; i++){
for(int j=0; j<6; j++){
stream<<arr[i][j]<<endl;
}
}
}
문자열 리터럴에서 백 슬래시를 두 배로 늘리십시오 : ' "c : \\ Data.txt"'. 또한 관리자가 아닌 사용자가 드라이브 루트에 파일을 만들 수있는 충분한 권한이 없을 수도 있습니다. 'open' 호출이 실패했을 수 있습니다. 또한 배열에 비어 있지 않은 문자열이 하나 이상 있는지 확인하십시오. 그것을 확인하십시오. –
가능한 복제본 [QDataStream 데이터를 serialize 할 수 없습니다] (http://stackoverflow.com/questions/27045488/qdatastream-unable-to-serialize-data) – TheDarkKnight
@IgorTandetnik 드라이브 루트 디렉터리의 기본 Windows ACL은 "Everyone"전체를 부여합니다. 제어 (Program Files와 Windows와 같은 중요한 하위 디렉토리는 분명히 제한적 임), 따라서 누구나 파일을 작성할 수 있어야합니다. 모든 주어진 시스템은 다르게 재구성 될 수 있지만 이것이 기본값입니다. –