さらに多くの問題、私は本当に混乱しています、そしてそれは私を終わりのないものに悩ませています、私は同様にdirent.hでほとんどすべてを試しました。しかし、これが私が欲しいものの例です:
#include <iostream>
#include "DataEventResponseMsg.idl"
using namespace std;
int main(){
cout << "This is the size: " << sizeof(DataEventResponseMsg) << endl;
return 0;
}
その特定のファイルを含め、そのサイズを見つけて印刷しました。やりたいのですが、.idlファイルでいっぱいのディレクトリを開き、sizeof。を使用してファイルとサイズを出力する必要があります。
dirent.hを使用してディレクトリを開き、内容をent-> d_nameに配置してから、d_nameのサイズなどを検索しようとしましたが、ポインタのサイズを出力するだけです。ファイルを配列に配置しようとしましたが、sizeofを実行すると、配列のサイズしか出力されません。実際のファイルのサイズを、投稿したようなヘッダーファイルにインクルードしているかのように出力したいと思います。
これは可能ですか?私はとても混乱していて、これを機能させる必要がありますが、助けが必要です。
助けてください。
編集 - - -
だから私はdirent.hでこれをしました:
#include <iostream>
#include <dirent.h>
#include <string.h>
#include <fstream>
using namespace std;
int main( int argc, char* argv[] ){
char FileArr[20][256];
DIR *dir;
FILE *fp;
int i = 0;
int k;
struct dirent *ent;
dir = opendir (argv[1]);
if( dir != NULL ){
while(( ent = readdir ( dir ) ) != NULL ){
strcpy( FileArr[i], ent->d_name );
fp = fopen( FileArr[i], "rw" );
cout << FileArr[i] << ", " << sizeof(FileArr[i]) << endl;
fclose(fp);
i++;
}
closedir( dir );
}
return 0;
}
これにより、コマンドラインからディレクトリが開かれ、コンテンツがent-> d_nameに配置され、それらの文字列を配列にコピーして、配列内のすべてのコンテンツのサイズを見つけようとしました。ただし、sizeofを実行すると、ポインターの配列のサイズ(ポインターを使用した場合)のみが実行されます。そして、ファイルの文字列/名前を保持しているものではなく、実際のファイルのサイズを見つけたいと思います。