עבור לתוכן

עוד שאלה DLL

Featured Replies

פורסם

יש לי את הפונקציה הבאה שעובדת ב++C


void d(char* name)
{
ofstream fl;
char str[80];
int lineBegin, lineEnd, moneLine=0;

cin>>lineBegin;
cin>>lineEnd;

strcat(name,".txt");
fl.open(name);

while(moneLine<lineBegin-1)
{
file.getline(str,80);
moneLine++;
}
while((moneLine<=lineEnd)&&(!file.eof()))
{
file.getline(str,80);
fl.write(str,80);
puts(str);
moneLine++;
}
}

אבל, כשהעברתי אותה לDLL היא כותבת לי בתוך הקובץ רק פסים כאלו |||||||||||||||| למה??


JNIEXPORT jboolean JNICALL Java_Targil_createFile //פונקציה ליצירת קובץ חדש
(JNIEnv *env, jobject obj, jstring string)
{
const char *str = env->GetStringUTFChars(string, 0);
char name[15];
strcpy(name, str);
strcat(name,".txt");
env->ReleaseStringUTFChars(string, str);


fl.open(name);
return true;
}

JNIEXPORT jboolean JNICALL Java_Targil_writeFile //פונקציה לכתיבה בתוך קובץ
(JNIEnv *env, jobject obj, jint lineBegin, jint lineEnd)
{
char str[80];
int moneLine=0;

while(moneLine<lineBegin-1)
{
file.getline(str,80);
moneLine++;
}
while((moneLine<=lineEnd)&&(!file.eof()))
{
file.getline(str,80);
fl.write(str,80);
moneLine++;
}

return true;
}

פורסם

בJAVA, CHAR הוא 2 בתים. אולי זו הסיבה.

פורסם
  • מחבר

מה זה אומר?

<אני כותבת לתוך הקובץ ב++C אז למה זה לא עובד?>

פורסם

תנסי להדפיס את מה שאת מקבלת עם cout.

פורסם
  • מחבר

אבל אני לא רוצה לעשות COUT למסך, אני רוצה לכתוב ישרל תוך הקובץ!

מה לעשות?

פורסם

תעשי את זה רק כדי לוודא שאת מקבלת את המחרוזת הנכונה בינתיים. יותר נוח.

פורסם
  • מחבר

זה לא עובד <אני צריכה להחזיר מחרוזת לJAVA כדי שתדפיס אותה שם על המסך>

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים