항상 그렇듯이 포인터 문제가 있습니다. 이번에는 파일 (바이너리 모드로 열림)을 읽고 std :: string 객체에 그 일부를 저장하려고합니다. 보기 :C++ fread()를 std :: string으로 변환
FILE* myfile = fopen("myfile.bin", "rb");
if (myfile != NULL) {
short stringlength = 6;
string mystring;
fseek(myfile , 0, SEEK_SET);
fread((char*)mystring.c_str(), sizeof(char), (size_t)stringlength, myfile);
cout << mystring;
fclose(myfile);
}
이게 가능합니까? 나는 어떤 메시지도받지 않는다. 파일이 O.K입니다. char *로 시도하면 작동하지만 문자열에 직접 저장하려고합니다. 당신의 도움을 주셔서 감사합니다!
친구 ... 당신은 c_str에서 얻을() ... 가변 주석 위 –
하지 않고 모두 올바른을 아래에 대답,하지만 당신은 C++를 사용하는 경우 당신은 왜 파일 I에 대한 C 관용구를 사용하고있는/O –
그리고 출력을 바로 가기 위해 C++ 스트리밍. –