2012-03-20 19 views
1

私はconfig.txtファイルを持っています。このファイルは、nocompress extension = "txt"オプションを使用してapkビルド中に圧縮されません。それから私は自分のJavaコード資産マネージャーを開き、それをネイティブ関数に渡しています。最後に、以下のコードを使用してFile *を開きます。 問題は、行がchar *であるfgets(line、32、file)を呼び出すときに、行の内容がファイルの最初の行ではないということです。あなたはTXTは、除外リストにないhttps://code.google.com/p/java-ide-droid/source/browse/trunk/jni/aapt/jni/Package.cpp(「静的のconstのchar *のkNoCompressExt」で検索)で見ることができるし、圧縮されているようAssetManagerとネイティブコード

AAssetManager* mgr = AAssetManager_fromJava(env, assetManager); 
if(NULL == mgr) return -1; 
AAsset* asset = AAssetManager_open(mgr, "config.txt", AASSET_MODE_UNKNOWN); 
if (NULL == asset) { 
    return -1; 
} 
off_t start, length; 
int fd = AAsset_openFileDescriptor(asset, &start, &length); 
if (fd < 0) 
    return -1; 
FILE * file = fdopen(fd, "r"); 

答えて

0

! これは実際にはゼロより小さいfd beeingにつながります。

関連する問題