CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

J´aide les personne en C/C++

countag
countag
Niveau 5
13 juillet 2006 à 22:14:57

Pourquoi ne fais tu pas simplement :

fopen("nom_du_fichier.txt","W") ?

je pense que tu dis ca car tu veux faire une fonction mais fais comme ceci :

fonction ecrire_texte(char *message){
fopen(message,"W");
}

:)

r1pp3r
r1pp3r
Niveau 5
13 juillet 2006 à 22:34:09

c´etait pour savoir si l´on pouvai faire sa en meme temps
for(i=0;i<10;i++)
{
sprintf(temps, "nomdufichier%ld.txt",i);
fichier = fopen(temps, "w");
}
^^

countag
countag
Niveau 5
13 juillet 2006 à 22:35:17

oui je pense, je maitrise pas le C, mais ca me parait correcte :)

r1pp3r
r1pp3r
Niveau 5
13 juillet 2006 à 22:42:20

ba c´est bien partique pour loader des animation sa!!!!j´ai plus a me farcire 30 ligne de code pour laoder 30 image!!!!!!!!!! ^^ et j´ai un probleme sur ma fonction qui servirai a ecrire le code en 1 fonction (enfin) donc j´ai penser a deux solution:
->ecrire toute la fonction avec meme le SDL_Init et SDL_close
mais je pense que se n´est pas du tout optimiser pour un affichage a 30fps
->ecrire 3 fonction : le Init,la fonction qui ecrit,le close; mais probleme pour joindre les 3 fonction il faut des variable passe par le main.c hors j´aurai encore plein de variable encombrante dans le main moi se que je veut c´est que tout reste dans la fonction(init+close a par).j´ai penser a une structure mai encore probleme il faut la declarer dans le main grrrr :-((

dnob700
dnob700
Niveau 10
13 juillet 2006 à 23:30:56

r1pp3r : tu peut aussi mettre tes fonctions init et close dans un fichier séparé et tu utilise une variable globale pour ce fichier (mais que tu déclare avec le mot clef static) comme ça, elle sera accessible à tes deux fonctions, mais elle n´encombrera pas le main.

countag
countag
Niveau 5
14 juillet 2006 à 00:07:03

Est ce que quelqu´un sait comment on ouvre un fichier qui est déjà ouvert par une application par ifstream et ofstream (c´est pour copier des fichiers)

car je fais :

void copy(const char *file_in, const char *file_out)
{
char buf[2000];
ifstream Fread(file_in);
ofstream Fwrite(file_out);

while(Fread.eof()){
Fwrite << Fread.getline(buf,5000);
}
}

mais les fichiers copier sont vide :/

r1pp3r
r1pp3r
Niveau 5
14 juillet 2006 à 00:49:44

une question toute bete quand j´ai se code

typedef struct TTF
{
TTF_Font *police;
SDL_Color couleurNoire;
SDL_Surface* Stexte;
}TTF;

et que j´ai une variable TTF variable dans mon main comment je fait pour mettre la police j´ai essayer
variable.police = TTF_OpenFont("times.ttf", 65);
variable.*police = TTF_OpenFont("times.ttf", 65);
variable->police = TTF_OpenFont("times.ttf", 65);
rien de sa marche helas comment on fait? si le C le permet bien sur

dnob700
dnob700
Niveau 10
14 juillet 2006 à 01:21:39

countag :

while(!Fread.eof())

car eof() renvoie vrai seuleument lorsque la fin du fichier est atteinte.

countag
countag
Niveau 5
14 juillet 2006 à 10:13:42

@dnob700 => Non ça marche pas :/, j´ai même essaier de les ouvrir en binary, par contre en C ça marche avec cette fonction là :

void copy(const char *setFrench,const char *getFrench) {
FILE *source, *cible;
source =fopen(setFrench,"rb");
cible =fopen(getFrench,"wb");

while(true) {
register c=fgetc(source);
if(feof(source))break;
fputc(c,cible);
}

fclose(cible);
fclose(source);
}

@r1pp3r => tu déclare t´as structure :

TTF MyTTF;
MyTTF.police = TTF_OpenFont("times.ttf", 65);

voilà mais je suis pas sur.

dnob700
dnob700
Niveau 10
14 juillet 2006 à 12:30:12

countag : je ne sais pas ce que renvoie le getline. Au cas où ça en renvoie pas buf, utilise :

while(!Fread.eof())
{
Fread.getline(buf,5000);
Fwrite << buf;
}

countag
countag
Niveau 5
14 juillet 2006 à 12:38:41

c´est ce que j´ai fait mais ca marche pas, ce qui est bizarre c´est que la fonction C marche bien alors que celle en C++ non, pourtant je lis bien en binary, il doit y avoir un truc que j´ai loupé.

Si je me trompe pas :

Fread.getline(buf,5000);

ca stock dans buf la ligne d´un maximum de 5000caractéres.
Ou ca stock les 5000premiers caractéres du fichier :/ j´avoue hésiter mais vu le nom de la fonction je penche sur la prémiére théorie.

Pour lire en binary je fais :

ifstream Fread(file_in, ios::binary | ios::in);
ofstream Fwrite(file_out, ios::binary | ios::out);

dnob700
dnob700
Niveau 10
14 juillet 2006 à 13:13:47

d´après moi, le getline ne doit pas fonctionner correctement en binary. Car il n´interprète les fin de lignes qu´en mode texte (et donc pas en binary).

countag
countag
Niveau 5
14 juillet 2006 à 13:23:17

oui tout à fait je viens de le voir, il doit exister une autre méthode pour les lectures binary, je vais chercher :), en tous cas le getligne c´est pour le mode texte comme tu l´as dit ;)

countag
countag
Niveau 5
14 juillet 2006 à 13:36:09

Bon voilà j´ai trouvé :) grâce à toi dnob700, c´est toi qui m´a mis sur la voie avec le getline :) donc voici comment j´ai fais :

while(!Fread.eof()){
Fread.read(buf,1024);
unsigned int buff_size = Fread.gcount();
Fwrite.write(buf,buff_size);
}

countag
countag
Niveau 5
15 juillet 2006 à 23:16:09

J´ai une petite question pour ceux qui font du développement 3D, utilisez vous un moteur 3D déjà comme Ogre ou TrueVision, ou avez vous conçu votre propre moteur 3D ?

Quel est avantage de l´un ou de l´autre selon vous ?

Personnelement je suis actuellement entrain d´essaier de concevoir mon moteur 3D (je travail sur un Exporteur pour XSI, dont j´ai un peu avancé :) ), je trouve ça beaucoup plus interessant au niveau personnel car on apprend beaucoup plus puis on maitrise notre création :) par contre c´est beaucoup plus long à concevoir donc une perte de temps si on est sur un projet.

Avez vous déjà réalisé ou essaié de dévloppé votre propre moteur 3D ? si oui on pourrait voir quelques screenshot ? :)

-MasterLink-
-MasterLink-
Niveau 6
16 juillet 2006 à 20:36:33

salut
je poste aujourd´hui pour un problème (surement bidon) sur le tuto de JYY et plus particulièrement sur l´installation de la SDL.
Donc en fait les tuto de JYY sont ecris sur des .cpp , et pour installer la SDL, il faut aller dans projet/option , mais cette commande n´est pas accessible sur les .cpp ...
je pense que la question à deja été posée mais comme je n´ais pas trouvé...
merci d´avance

dynoplasmma
dynoplasmma
Niveau 9
16 juillet 2006 à 20:48:42

Quel est ta question ?
Je ne vois pas de point d´interrogation.

-MasterLink-
-MasterLink-
Niveau 6
16 juillet 2006 à 20:55:37

effectivement :-d
rajoute :

  • comment y remédier?

entre les lignes 5 et 6

dynoplasmma
dynoplasmma
Niveau 9
16 juillet 2006 à 21:01:13

Et bien, pour utiliser SDL, tu doit creer un projet a chaque fois, dans le but de linker les librairies adequates.

Quand tu n´as pas de librairie a linker via l´editeur de lien, pas la peine de creer un projet.

dynoplasmma
dynoplasmma
Niveau 9
17 juillet 2006 à 20:06:50

Bonsoir, j´aimerais optimiser mon code, pour eviter les repetitions. Mais j´avoue que je suis confus.

J´ai a repeter SDLK_KP1, SDLK_KP2...

J´ai donc penser qu´il y avais moyen, avec un i parcouru dans un for, de modifier ceci a chaque fois.

J´ai donc utiliser la methode sprintf, comme ici :
http://rafb.net/paste/results/G0TU7s87.html

Mais cela me donne l´erreur suivante sur la ligne :
if(keystate[iChaine])

Erreur : array subscript is not an integer

Je pense que l´erreur vient du fait que SDLK_KP... ne sont pas des chaines de caracteres.
Auriez vous une solution pour y remedier, svp ?

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment