2013-06-12 3 views
0

텍스트 파일에 줄 바꿈을 추가하고 싶지만 아무 반응이 없습니다.텍스트 파일에 쓰는 동안 줄을 끊는 방법

void controleformules::on_pushButton_4_clicked(
{ 
QString str= ui->textEdit_2->toPlainText(); 

QString filename= str+".txt"; 

QFile file(filename); 

if (file.open(QIODevice::ReadWrite)) 
{ 

    QTextStream stream(&file); 

     stream 
       << "U heeft nu deze 2 formules gekozen: Formule 1: " << x1Int << " + " << y1Int << " = " << r1Int << ". Formule 2: "<< x2Int << " + " << y2Int << " = " << r2Int << "." << '\n' 
       <<"eerst moet je in beide formules de x of de y elimeneren, wij doen de y eerst"; 
    } 
} 

내가 미리 팀 스 미츠 모두 "\n"'\n', 나는 누군가가 나를 도울 수 있기를 바랍니다

,

감사를 시도

+2

참조 : http://stackoverflow.com/questions/4181630/how-can-i-place-a-line-break-while-writing-to-a-file 창을 사용하는 경우, "\ r \ n"이 필요합니다 – Ian

+0

"\ n"의 의미를 확인하십시오. – m0skit0

+1

텍스트 파일을 어떻게보고 있습니까? 캐릭터가 실제로 출력되지 않습니까, 아니면 독자가 무시하는 것입니까? –

답변

1

귀하가 QIODevice을 기본 : 여기

내 코드입니다 (파일)이 실제로 텍스트 모드에서 작동하지 않습니다. 스트림 텍스트 스트림에 대한

QFile file(filename , QIODevice::Text); 
... 
QTextStream stream(&file); 

으로 사용되는 파일을 열 때 QIODevice::Text를 사용하여 모두 "\n"'\n' 작동합니다. 대신 std::endl (또는 더 정확하게 Qt의 해당 부분)을 선택할 수도 있지만 실제로는 필요하지 않습니다. "\n"'\n'은 출력 스트림이 실제로 텍스트 스트림이라고 가정하고 운영 체제와 상관없이 올바른 결과를 생성하며 사용자가 검사 할 때 사용하는 것과 동일한 플랫폼에서 파일을 생성한다고 가정합니다. ("\r\n" Windows에서 사용되어야 함을 주장하는 발언이 올바르지 않습니다.) 당신이 POSIX 시스템에서 Windows 텍스트 파일을 생성하려고 할 때

당신이 참으로 "\r\n"를 사용해야하는 상황의 예입니다.

+0

'QTextStream'은 텍스트 스트림입니다. 'QFile'과'QIODevice :: OpenMode'를 모두 받아들이는 Constructor도 없습니다 – Lol4t0

+0

@ Lol4t0 : 포맷팅 인터페이스가 텍스트 데이터 작업을 위해 설계된 "텍스트 스트림"입니다. ** C++의 텍스트 스트림이 아닙니다. (기본적으로) 용어입니다. 이런 의미에서 텍스트 스트림이되기 위해서는'QIODevice :: Text' 열린 모드로 명시 적으로 열어야합니다. – AnT

+0

당신은 어떤 참조를 제공 할 수 있습니까? 다시 말하지만 QTextStream에는 허용 가능한 생성자가 없으므로 코드가 컴파일되지 않습니다. – Lol4t0

관련 문제