내 주요 질문은 문자 데이터 형식이 아닌 파일에서 데이터를 읽는 방법에 관한 것입니다. 내가 MATLAB의 데이터 파일을 쓰고 다음과 같이C++의 파일에서 숫자를 읽으려면 어떻게해야합니까?
x=rand(1,60000);
fID=fopen('Data.txt','w');
fwrite(fID,x,'float');
fclose(fID);
을 그럼 난 변하지 않는 다음 코드 "NUM"를 사용하여 C++에서 그것을 읽을 때.
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
fstream fin("Data.txt",ios::in | ios::binary);
if (!fin)
{
cout<<"\n Couldn't find file \n";
return 0;
}
float num=123;
float loopSize=100e3;
for(int i=0; i<loopSize; i++)
{
if(fin.eof())
break;
fin >> num;
cout<< num;
}
fin.close();
return 0;
}
나는 ++ 읽고 matlab에 좋은에서 파일을 작성하고, 본인은 C++로 쓸 수 있지만 내가 MATLAB에 쓸 수와 C에서 읽을 수 있습니다. MATLAB에서 작성한 파일은 원하는 형식이지만 C++의 파일은 텍스트에서 숫자를 쓰거나 읽는 것 같습니다. 플로트을 C++의 파일에서 읽으려면 어떻게해야합니까? 아니면 내가 뭘 잘못하고 있습니까?
편집 : 무한 루프가 필요하지 않고 eof 플래그가 설정되지 않았기 때문에 루프 코드가 지저분합니다.
fin.read에 char 포인터가 필요하기 때문에 컴파일러에서 오류가 발생합니다 – user1860611
@ user1860611 : 죄송합니다. 생각보다 빨리 입력하고 있습니다. 지금 컴파일해야합니다. –
그 트릭을 했어, 정말 고마워. – user1860611