Cの関数に問題がありopendir
ます。コードは次のとおりです。
の宣言rvm
:
rvm_t func()
{
rvmBlock=(rvm_t)malloc(sizeof(rvm_t));
return rvmBlock;
}
rvm_t rvm;
rvm=func();
printf("rvm->backingStore=%s\n", rvm->backingStore);
if( (dir = opendir(rvm->backingStore)) !=NULL )
{
printf("rvm->backingStore inside if=%s\n", rvm->backingStore);
}
私がこれに対して得ている出力は次のとおりです。
rvm->backingStore=rvm_segments/
rvm->backingStore inside if=rvm_segments!?
"!?"
何らかの理由で表示されているいくつかのゴミ文字です。
誰かが何が悪いのか説明できますか?
rvmの構造は次のとおりです。
struct rvm_info
{
char backingStore[20];
struct memSeg * memSegs[20];
long int storage_size;
int memSeg_count;
FILE * log_fd;
};
typedef struct rvm_info* rvm_t;