-1
char*
을 Managed C++의 텍스트 파일에 쓰려고합니다. 그런 다음이 파일을 다른 관리되지 않는 C++ 응용 프로그램에서 사용할 것입니다.CLI를 사용하여 파일에 char 버퍼를 쓰는 방법
이것은 내 코드입니다.
void DumpAllData(int buffSize, char* srs)
{
String^ fileName = "C:\\temp\\example.bin";
StreamWriter^ sw = gcnew StreamWriter(fileName, true, System::Text::Encoding::ASCII);
for (int i = 0; i < buffSize; i++)
{
sw->Write(srs[i]);
}
sw->WriteLine();
sw->Close();
}
나는 주어진 char*
에 대한 buffSize
통해 반복하고 파일을 쓰고 있어요. char*
에 '\n'
이있을 수 있습니다. 전체 파일을 작성한 후에는 모든 데이터가 한 줄에 있어야합니다. 하지만 메모장에서 파일을 열면 ++ 데이터가 여러 줄로 나옵니다.
LF 또는 CR도 char*
과 함께 제공됩니다.
이 문제를 해결하는 방법에 대한 제안 사항이 있으십니까?
감사합니다.
* "모든 데이터가 한 줄에 있어야합니다"* + * "LF 나 CR이 입력 내용에 개행 문자가있는'char *'"* =>와 함께 제공된다는 사실을 발견했습니다. 출력물에 개행 문자가 있습니다. 왜 처음에는 한 줄로 모든 것을 얻을 것으로 기대 했습니까? 출력 방법이 비효율적이고, 버퍼에서 UnmanagedMemoryStream을 인스턴스화하고, 파일에 대해 FileStream을 호출 한 다음,'ums-> CopyTo (fileStream);을 호출하십시오. ' –
감사합니다. 이것은 소켓에서받은 데이터이므로 패킷의 내용을 수정하거나 변경할 수 없습니다. 대신 소켓 통신을 통해 다른 응용 프로그램으로 전송해야합니다. 이것이 모든 데이터가 한 줄로 인쇄되기를 기대하는 이유이므로 필요한 곳으로 다시 보낼 수 있습니다. – killer