Convertir de java en c

Fermé
narra_blues Messages postés 3 Date d'inscription dimanche 22 mars 2015 Statut Membre Dernière intervention 27 mars 2015 - 22 mars 2015 à 22:39
narra_blues Messages postés 3 Date d'inscription dimanche 22 mars 2015 Statut Membre Dernière intervention 27 mars 2015 - 23 mars 2015 à 12:01
svp j'veux convertir ce code source (en java) a un code source ( en c )
voilà le code :
public class Hot {

private String name;
private int addressIP[];

public Hot(){

}
public Hot(String name, int IP[]){
this.name=name;
this.addressIP=IP;

}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int[] getAddressIP() {
return addressIP;
}
public void setAddressIP(int[] addressIP) {
this.addressIP = addressIP;
}

}

et

import java.util.ArrayList;



public class GroupMulticast {

private ArrayList<Hot> subscribers;

public GroupMulticast (){
subscribers= new ArrayList<Hot>();
}


public void registerHot(Hot o) {
this.subscribers.add(o);
}

public void removeHot(Hot o) {
int i = this.subscribers.indexOf(o);
if (i >= 0) {
this.subscribers.remove(i);
}
}
public void desplaySubscriber(){
System.out.println("liste of subscribers: ");
Hot hot= new Hot();
for(int i=0;i<this.subscribers.size();i++){
hot =(Hot)this.subscribers.get(i);
System.out.println("name: "+hot.getName());

}

}

ça concerne la création d'une adresse ip et les fonctions d'abonnement et de désabonnement dans un groupe multicast !
A voir également:

1 réponse

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
Modifié par gravgun le 22/03/2015 à 22:56
'lut, pas possible de convertir du code d'un langage orienté objet vers un procédural sans savoir comment tu vas t'en servir, du moins directement...
On peut toujours faire une sorte "d'hybride" (strdup est à écrire/utiliser selon le standard POSIX), exemple:
typedef struct _Hot {
	char *name;
	int addressIP[4]; // J'assume IPv4
} Hot;

Hot* Hot_new(char *name, int *addressIP) {
	Hot *self = calloc(sizeof(Hot), 1);
	Hot_setName(self, name);
	Hot_setAddressIP(addressIP);
}

const char* Hot_getName(const Hot *self) {
	return self->name;
}

void Hot_setName(Hot *self, char *name) {
	free(self->name);
	self->name = strdup(name);
}

const int* Hot_getAddressIP(const Hot *self) {
	return self->addressIP;
}

void Hot_setAddressIP(Hot *self, int *addressIP) {
	memcpy(self->addressIP, addressIP, 4*sizeof(int));
}

void Hot_delete(Hot *self) {
	free(self->name);
	free(self);
}
Code pas testé, je garantis rien...
from human import idiocy
del idiocy
0
narra_blues Messages postés 3 Date d'inscription dimanche 22 mars 2015 Statut Membre Dernière intervention 27 mars 2015
23 mars 2015 à 12:01
Mercii gravgun :)
0