begin process at 2012 05 30 02:09:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Général

 > 

probleme avec la fonction GetStringChars


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme avec la fonction GetStringChars

jeudi 20 septembre 2007 à 14:45:14 | probleme avec la fonction GetStringChars

darkspoilt

bonjour j'ai des souci de compilation avec cette ligne

JNIEXPORT jboolean JNICALL Java_Jni2_verif (JNIEnv* env,jobject j,jstring login,jstring pass)
{
const char* id;
id=(*env)->GetStringUTFChars(env,login,&vf);
}

voila l'erreur
\log.c base operand of `->' has non-pointer type `JNIEnv_'
jeudi 20 septembre 2007 à 14:58:41 | Re : probleme avec la fonction GetStringChars

patatalo

Membre Club Administrateur CodeS-SourceS
salut,


ca doit etre plutot
id=env->GetStringUTFChars(env,login,&vf);
ou
id=(*env).GetStringUTFChars(env,login,&vf);


@++
jeudi 20 septembre 2007 à 15:03:09 | Re : probleme avec la fonction GetStringChars

darkspoilt

J'ai utilisé les deux cela ne fonctionne pas
J'ai déclaré vf comme suit
jboolean vf
Est ce bon??

Ah moisn que cela soit autre chose mais je vais pas afficher tout le code quand meme
meme s'il fait que 57 lignes
jeudi 20 septembre 2007 à 15:11:24 | Re : probleme avec la fonction GetStringChars

patatalo

Membre Club Administrateur CodeS-SourceS
j'ai pas vérifié si l'info etait bonne:
[ Lien ]
@++
jeudi 20 septembre 2007 à 16:15:06 | Re : probleme avec la fonction GetStringChars

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

tu est en C ou C++ ? parce que ça change....

exemple en C :
(*env)->GetStringUTFChars(env, login,&vf);

exemple en C++:
env->GetStringUTFChars(login,&vf);

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
jeudi 20 septembre 2007 à 16:26:33 | Re : probleme avec la fonction GetStringChars

darkspoilt

Je suis en C c'est pour passer deux chaine de caractere mot de passe et identifiant et faire la vérification en C avec le JNI
jeudi 20 septembre 2007 à 16:42:27 | Re : probleme avec la fonction GetStringChars

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

space quand même perso je n'ai jamais eu ce problème, aussi bien en C ou C++

exemple qui compile et fonctionne :

JNIEXPORT void JNICALL Java_org_linux_sound_Mixer_setDeviceName(JNIEnv *env, jclass cls, jstring jdevice) {
    (*env)->ExceptionClear(env);
    jboolean isCopy;
    const char* utf_device = (*env)->GetStringUTFChars(env, jdevice, &isCopy);
    if((*env)->ExceptionOccurred(env)) {
        (*env)->ExceptionDescribe(env);
        (*env)->ExceptionClear(env);
        return;
    }
    [...]
    if(isCopy == JNI_TRUE)
        (*env)->ReleaseStringUTFChars(env, jdevice, utf_device);
}


------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
jeudi 20 septembre 2007 à 17:54:16 | Re : probleme avec la fonction GetStringChars

darkspoilt

voila ce ke j'ai codé moi

#include <stdio.h>
#include <malloc.h>
#include "VerifLogin.h"
#define LONG_MAX 64


JNIEXPORT jboolean JNICALL Java_Jni2_verif (JNIEnv* env,jobject j,jstring login,jstring pass)
{
    int n=2;
    const char* id;
    const char* mdp;
    char chaine[LONG_MAX];
    char* bon;
    jboolean vf;
    FILE* fichier;
    fichier=fopen("mdp.txt","r");
    id=(*env)->GetStringUTFChars(env,login,0);
   
    if(vf!=JNI_TRUE)
    {
  puts("Probleme au chargement du login.");
  return;
    }
   
    mdp=(*env)->GetStringUTFChars(env,pass,0);
   
    if(vf!=JNI_TRUE)
    {
  puts("Probleme au chargement du mot de passe.");
  return;
    }
   
    n+=strlen(id)+strlen(mdp);
    strcpy(chaine,id);
    strcat(chaine,"/");
    strcat(chaine,mdp);
    strcat(chaine,"\n");
    (*env)->ReleaseStringUTFChars(env,login,id);
    (*env)->ReleaseStringUTFChars(env,pass,mdp);
    bon=(char*)malloc(LONG_MAX*sizeof(char));
    do
    {
  fgets(bon,LONG_MAX,fichier);
  if(!strcmp(bon,chaine))
  {
      puts("Identification reussie.");
      fclose(fichier);
      return JNI_TRUE;
  }
    }
    while(!feof(fichier));
    puts("Erreur identification.");
    fclose(fichier);
    return JNI_FALSE;
}
}

jeudi 20 septembre 2007 à 18:10:13 | Re : probleme avec la fonction GetStringChars

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

ça ne risque pas de régler ton problème mais voici quelques points sur ton code :


pourquoi tu fais :
id=(*env)->GetStringUTFChars(env,login,0);
if(vf!=JNI_TRUE)
    [...]

vu que tu n'utilises pas 'vf'... normalement tu devrais faire
id=(*env)->GetStringUTFChars(env,login,&vf);
if(vf!=JNI_FALSE)
    //error

si 'vf' vaut JNI_TRUE alors la copie est bonne et tu peux relacher les ressources :
(*env)->ReleaseStringUTFChars(env,login,id);


tu fais :
n+=strlen(id)+strlen(mdp);
mais normalement tu devrais faire
size_t size = (*env)->GetStringUTFLength(env, id);

Oublie pas que le sting que tu obtiens(const char*) provient d'un string UTF (char = 2octets)



Pour ton problème de "base operand of `->' has non-pointer type `JNIEnv_' " tu peux donner ta ligne de compilation, exemple tu ne serais pas entrain de compiler avec g++ plutot que gcc ? si toute fois tu utilise un compilo GNU...

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO


Cette discussion est classée dans : fonction, probleme, env, getstringchars, jnienv


Répondre à ce message

Sujets en rapport avec ce message

Probleme d'appel de fonction java depuis javascript [ par fabgog ] bonjour, voila j'ai un problème lorsque j'appel une fonction java depuis un code javascript. cela fonctionne tres bien sous ts les naviguateurs de win Probleme Interface [ par Topgun89 ] Bonjour,Voila je developpe sous jbuilder en java j'ai reussi à faire ma fonction cool vous allez me dire alors tu n'as pas de probleme.et je vous repo probleme avec java [ par amouna saidi ] Salut à tout le mondeje suis débutante en java ,je suis en train de programmer une carte avec java .je ne sais pas comment faire la fonction qui va en Fonction Javascript dans du JSP [ par ismailfk ] bonjour,j'ai une probleme lors de l'insertion du code java script dans une page jspcontrolNom()----code----- completion automatique [ par patRachel ] salut les pots?j'ai un probleme.En effet j'ai implementé un editeur de texte et j'ai un probleme pour implementer una fonction de completion automatiq probleme caledrier [ par chibapop ] bonjour, je suis débutant et j'ai un ptit projet pour les oprérations de calcul sur les expressions calendaires, granularité, y aura pas personne qui probleme avec mon projet "Timer" [ par sidibouzid ] bonjour, j'ai un problème avec mon projet, le projet c un jeu 2D, le problème c que j ai une fonction ki fai deplacer les objet alèatoirement... et je probleme avec mon projet SVP [ par sidibouzid ] bonjour, je souhaite faire une fonction qui permet d'exécuté une autre fonction pendant un certain temp ou par exemple jusqu'a se ke je ferme mon prog Probleme déclaration de fonction [ par developvbdebut ] Bonjour tout le mondeJ'ai un probleme pour la réalisation d'une fonction.Voici le code.public instruct() {if(c.bcaf.equals("café") && sr==0) ||(c.bcaf probleme avec la classpath [ par zazou1 ] salut ,je vous  voudrez utilise Api JavaMail,j'ai rajoute en classpath les jars suivant :D:\j2sdk1.4.2_03\lib\mail\mail.jar;D:\j2sdk1.4.2_03\lib\smtp\


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,218 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales