begin process at 2012 05 27 20:23:40
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caractères

 > LIBRAIRIE LANGUAGES

LIBRAIRIE LANGUAGES


 Information sur la source

Note :
Aucune note
Catégorie :Chaîne de caractères Classé sous :lang, language, languages, multi, multilangues Niveau :Expert Date de création :23/04/2010 Vu / téléchargé :2 580 / 88

Auteur : astro53

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Salut

Apres de longues heures de travail je viens de creer un systeme de multilangues en C.
Je poste ici pour avoir votre avis.

Source

  • /*
  • main.c
  • Author: AstroProduction
  • Goal: main directions
  • Created:20/04/2010
  • Last Updated: 23/04/2010
  • Copyright 2010. All rights reserved to AstroProduction
  • astro567@hotmail.com
  • User Rights:
  • All Rights, just don't delete the headers.
  • */
  • #include "config.h"
  • int main (int argc, char *argv[])
  • {
  • char lang[3]="en";
  • int numberFiles=langCountFiles(lang);
  • LANG_LINE files[numberFiles];
  • langCountLines(lang,numberFiles,files);
  • langCountC(lang,numberFiles,files);
  • langShowContent(numberFiles,files);
  • langFree(numberFiles,files);
  • return EXIT_SUCCESS;
  • }
  • </code></secret>
  • /*
  • lang.c
  • Author: AstroProduction
  • Goal: All functions about the languages.
  • Created:20/04/2010
  • Last Updated: 23/04/2010
  • Copyright 2010. All rights reserved to AstroProduction
  • astro567@hotmail.com
  • User Rights:
  • All Rights, just don't delete the headers.
  • */
  • #include "config.h"
  • #include "lang.h"
  • int langCountFiles(char* lang)
  • {
  • int fileLength=0;
  • char *path=langInitPath(lang);
  • DIR *pdir=langOpen(path);
  • if(pdir!=NULL)
  • {
  • struct dirent *pent;
  • while(pent=readdir(pdir))
  • {
  • if(isalnum(pent->d_name[0]))
  • {
  • if(strchr(pent->d_name,'.')) fileLength++;
  • }
  • }
  • closedir(path);
  • }
  • free(path);
  • return fileLength;
  • }
  • char* langInitPath(char* lang)
  • {
  • int pathLength=strlen(LANG)+strlen(lang);
  • char *path=(char*)malloc(pathLength*sizeof(path));
  • if(path==NULL)
  • {
  • fprintf(stderr,"Can't allowed memory to path (file:lang.c line:44)\n");
  • exit(EXIT_FAILURE);
  • }
  • pathLength=sprintf(path,LANG"%s",lang);
  • return path;
  • }
  • DIR* langOpen(char* path)
  • {
  • DIR *pdir;
  • if(!(pdir=opendir(path)))
  • {
  • fprintf(stderr,"Can't open %s. Check it exist and try again. (file:lang.c line:56)\n",path);
  • return NULL;
  • }
  • return pdir;
  • }
  • void langCountLines(char* lang,int numberFiles,LANG_LINE files[])
  • {
  • int j=0;
  • char *path=langInitPath(lang);
  • DIR *pdir=langOpen(path);
  • if(pdir!=NULL)
  • {
  • struct dirent *pent;
  • while(pent=readdir(pdir))
  • {
  • char *fullPath=malloc((strlen(path)+strlen(pent->d_name))*sizeof(char*));
  • if(!fullPath)
  • {
  • fprintf(stderr,"Can't allowed memory to fullPath (file:lang.c line:75)\n");
  • exit(EXIT_FAILURE);
  • }
  • sprintf(fullPath,"%s\\%s",path,pent->d_name);
  • if(isalnum(pent->d_name[0]))
  • {
  • if(strchr(pent->d_name,'.'))
  • {
  • FILE *file=fopen(fullPath,"r");
  • if(file==NULL)
  • {
  • fprintf(stderr,"Can't open file %s (file:lang.c line:86)\n",fullPath);
  • exit(EXIT_FAILURE);
  • }
  • files[j].fileName=malloc(pent->d_namlen*sizeof(char));
  • if(files[j].fileName==NULL)
  • {
  • fprintf(stderr,"Can't allowed memory for fileName (file:lang.c line:92)\n");
  • exit(EXIT_FAILURE);
  • }
  • strcpy(files[j].fileName,pent->d_name);
  • files[j].numberLines=0;
  • files[j].maxLengthLine=0;
  • int c=0,maxLength=0;
  • while(c!=EOF)
  • {
  • c=fgetc(file);
  • maxLength++;
  • if(c=='\n')
  • {
  • if(maxLength > files[j].maxLengthLine)
  • files[j].maxLengthLine=maxLength;
  • maxLength=0;
  • (files[j].numberLines)++;
  • }
  • }
  • fclose(file);
  • j++;
  • }
  • }
  • free(fullPath);
  • }
  • closedir(path);
  • }
  • free(path);
  • }
  • //*
  • void langCountC(char lang[],int numberFiles,LANG_LINE files[])
  • {
  • char *path=langInitPath(lang);
  • DIR *pdir=langOpen(path);
  • int j=0,i=0;
  • if(pdir!=NULL)
  • {
  • struct dirent *pent;
  • while(pent=readdir(pdir))
  • {
  • char *fullPath=malloc((strlen(path)+strlen(pent->d_name))*sizeof(char*));
  • if(!fullPath)
  • {
  • fprintf(stderr,"Can't allowed memory to fullPath (file:lang.c line:136)\n");
  • exit(EXIT_FAILURE);
  • }
  • sprintf(fullPath,"%s\\%s",path,pent->d_name);
  • if(isalnum(pent->d_name[0]))
  • {
  • if(strchr(pent->d_name,'.'))
  • {
  • FILE *file=fopen(fullPath,"r");
  • if(file==NULL)
  • {
  • fprintf(stderr,"Can't open file %s (file:lang.c line:147)\n",fullPath);
  • exit(EXIT_FAILURE);
  • }
  • int c=0;
  • files[j].contentLine=malloc((files[j].maxLengthLine+1)*sizeof(char));
  • if(!(files[j].contentLine))
  • {
  • fprintf(stderr,"Can't allow memory (file:lang.c line:154)\n");
  • exit(EXIT_FAILURE);
  • }
  • for(i=0;i<=files[j].numberLines;i++)
  • {
  • files[j].contentLine[i]=malloc((files[j].maxLengthLine+1)*sizeof(char*));
  • }
  • i=0;
  • while(fgets(files[j].contentLine[i],files[j].maxLengthLine+1,file)!=NULL)
  • {
  • files[j].contentLine[i][strlen(files[j].contentLine[i])-1]='\0';
  • i++;
  • }
  • fclose(file);
  • j++;
  • }
  • }
  • free(fullPath);
  • }
  • closedir(path);
  • }
  • free(path);
  • }
  • void langShowContent(int numberFiles,LANG_LINE files[])
  • {
  • int i=0,j=0;
  • for(j=0;j<numberFiles;j++)
  • {
  • fprintf(stdout,"%s:\n",files[j].fileName);
  • for(i=0;i<files[j].numberLines;i++)
  • fprintf(stdout,"%d:%d => %s\n",j,i,files[j].contentLine[i]);
  • fprintf(stdout,"\n");
  • }
  • }
  • void langFree(int numberFiles,LANG_LINE files[])
  • {
  • int i=0,j=0;
  • for(j=0;j<numberFiles;j++)
  • {
  • for(i=0;i<files[j].numberLines;i++)
  • free(files[j].contentLine[i]);
  • free(files[j].contentLine);
  • free(files[j].fileName);
  • }
  • }
  • /*
  • lang.h
  • Author: AstroProduction
  • Goal: Prototypes of lang.c
  • Created:20/04/2010
  • Last Updated: 23/04/2010
  • Copyright 2010. All rights reserved to AstroProduction
  • astro567@hotmail.com
  • User Rights:
  • All Rights, just don't delete the headers.
  • */
  • #ifndef LANGH_
  • #define LANGH_
  • /*
  • @struct LANG_LINE
  • @parameters:
  • @int numberLines: number of lines in a file;
  • @int maxLengthLine: line longest length in all the file;
  • @char **contentLine: contain the sentence of the line;
  • */
  • typedef struct{
  • int numberLines;
  • int maxLengthLine;
  • char **contentLine;
  • char *fileName;
  • }LANG_LINE;
  • /*
  • @function langCountFiles
  • @return: int: number of files
  • @parameters:
  • @char* lang: the language name in two letters (eg:"en" for English)
  • @steps:
  • @init path;
  • @open the language directory
  • @read the directory
  • @count number of files
  • @close directory
  • @free memory
  • */
  • int langCountFiles(char* lang);
  • /*
  • @function langInitPath
  • @return char*: full directory to the language folder
  • @parameters:
  • @char* lang: the language name in two letters (eg:"en" for English)
  • @steps:
  • @count the length of the path
  • @write the path
  • */
  • char* langInitPath(char* lang);
  • /*
  • @function langOpen
  • @return DIR*: pointer to the directory or NULL
  • @parameters:
  • @char* path: path to the directory concerned
  • @steps:
  • @open folder: fail return NULL, success return pointer to the folder
  • */
  • DIR* langOpen(char* path);
  • /*
  • @function langCountLines
  • @return void
  • @parameters:
  • @char* lang: the language name in two letters (eg:"en" for English)
  • @int numberFiles: number of files in the folder
  • @LANG_LINE (*files)[]: pointer to the struct
  • @steps:
  • @init path;
  • @open the language directory
  • @read the directory
  • @get fullpath
  • @check file name (First lette is alnum and contain an extension)
  • @open file
  • @count the line that have the max length
  • @count number of lines
  • @close and free all.
  • */
  • void langCountLines(char* lang,int numberFiles,LANG_LINE files[]);
  • /*
  • @function langCountC
  • @return void
  • @parameters:
  • @char* lang: the language name in two letters (eg:"en" for English)
  • @int numberFiles: number of files in the folder
  • @LANG_LINE (*files)[]: pointer to the struct
  • @steps:
  • @init path;
  • @open the language directory
  • @read the directory
  • @get fullpath
  • @check file name (First lette is alnum and contain an extension)
  • @open file
  • @allow memory for file[j].content[i]
  • @write content in file[j].content[i]
  • @close and free all.
  • */
  • void langCountC(char lang[],int numberFiles,LANG_LINE files[]);
  • /*
  • @function langShowContent
  • @return void
  • @parameters:
  • @int numberFiles: number of files in the folder
  • @LANG_LINE (*files)[]: pointer to the struct
  • @steps:
  • @Write the content with a loop
  • */
  • void langShowContent(int numberFiles,LANG_LINE files[]);
  • /*
  • @function langFree
  • @return void
  • @parameters:
  • @int numberFiles: number of files in the folder
  • @LANG_LINE (*files)[]: pointer to the struct
  • @steps:
  • @Free the content with a loop
  • */
  • void langFree(int numberFiles,LANG_LINE files[]);
  • #endif
  • /*
  • config.h
  • Author: AstroProduction
  • Goal: General definitions for all the application
  • Created:20/04/2010
  • Last Updated: 20/04/2010
  • Copyright 2010. All rights reserved to AstroProduction
  • astro567@hotmail.com
  • User Rights:
  • All Rights, just don't delete the headers.
  • */
  • #ifndef CONFIGH_
  • #define CONFIGH_
  • #include <stdlib.h>
  • #include <stdio.h>
  • #include <ctype.h>
  • #include <dirent.h>
  • #include "lang.h"
  • #define LANG "languages\\"
  • #endif
  • /*
  • versions.c
  • Author: AstroProduction
  • Goal: Resume all modifications
  • Created:23/04/2010
  • Last Updated: 23/04/2010
  • Copyright 2010. All rights reserved to AstroProduction
  • astro567@hotmail.com
  • User Rights:
  • All Rights, just don't delete the headers.
  • Version: 1.0
  • => System lang completed
  • */
  • utilisation:
  • Definition du repertoire contenant les langues dans config.h
  • Definition de la langues dans la variable langues tel que defini dans le main.c (string de 2 lettres)
  • Il faut avoir creer le repertoire contenant les langues et les sous repertoires de langues: languages\\en\\ dans mon cas.
  • La fonction langShowContent ecris dans le stdout le nom du fichier les nombres files et content line respectivement ainsi que le contenu de la lignes correspondant.
  • Par exemple:
  • <code type="console">
  • main.txt
  • 0:0 Bienvenue
  • 0:1 A bientot
  • </code>
  • Pour afficher "A bientot" dans l'application il suffira d'<gras><taille valeur="gros">ecrire avant la fonction langFree</taille></gras>:
  • <secret><code type="c">
  • printf("%s",files[0].contentLine[1]);
  • </code></secret>
  • J'espere que mes explications sont assez clair.
  • Merci pour vos reactions a l'avance.
  • A bientot
  • Astro
/*
main.c

Author: AstroProduction

Goal: main directions

Created:20/04/2010
Last Updated: 23/04/2010

Copyright 2010. All rights reserved to AstroProduction
astro567@hotmail.com
User Rights:
    All Rights, just don't delete the headers.
*/

#include "config.h"

int main (int argc, char *argv[])
{
    char lang[3]="en";
    int numberFiles=langCountFiles(lang);
    LANG_LINE files[numberFiles];
    langCountLines(lang,numberFiles,files);
    langCountC(lang,numberFiles,files);
    langShowContent(numberFiles,files);
    langFree(numberFiles,files);
    return EXIT_SUCCESS;
}
</code></secret>

/*
lang.c

Author: AstroProduction

Goal: All functions about the languages.

Created:20/04/2010
Last Updated: 23/04/2010

Copyright 2010. All rights reserved to AstroProduction
astro567@hotmail.com
User Rights:
    All Rights, just don't delete the headers.
*/

#include "config.h"
#include "lang.h"

int langCountFiles(char* lang)
{
    int fileLength=0;
    char *path=langInitPath(lang);
    DIR *pdir=langOpen(path);
    if(pdir!=NULL)
    {
        struct dirent *pent;
        while(pent=readdir(pdir))
        {
            if(isalnum(pent->d_name[0]))
            {
                if(strchr(pent->d_name,'.')) fileLength++;
            }
        }
        closedir(path);
    }
    free(path);
    return fileLength;
}

char* langInitPath(char* lang)
{
    int pathLength=strlen(LANG)+strlen(lang);
    char *path=(char*)malloc(pathLength*sizeof(path));
    if(path==NULL)
    {
        fprintf(stderr,"Can't allowed memory to path (file:lang.c line:44)\n");
        exit(EXIT_FAILURE);
    }
    pathLength=sprintf(path,LANG"%s",lang);
    return path;
}

DIR* langOpen(char* path)
{
    DIR *pdir;
    if(!(pdir=opendir(path)))
    {
        fprintf(stderr,"Can't open %s. Check it exist and try again. (file:lang.c line:56)\n",path);
        return NULL;
    }
    return pdir;
}

void langCountLines(char* lang,int numberFiles,LANG_LINE files[])
{
    int j=0;
    char *path=langInitPath(lang);
    DIR *pdir=langOpen(path);
    if(pdir!=NULL)
    {
        struct dirent *pent;
        while(pent=readdir(pdir))
        {
            char *fullPath=malloc((strlen(path)+strlen(pent->d_name))*sizeof(char*));
            if(!fullPath)
            {
                fprintf(stderr,"Can't allowed memory to fullPath (file:lang.c line:75)\n");
                exit(EXIT_FAILURE);
            }
            sprintf(fullPath,"%s\\%s",path,pent->d_name);
            if(isalnum(pent->d_name[0]))
            {
                if(strchr(pent->d_name,'.'))
                {
                    FILE *file=fopen(fullPath,"r");
                    if(file==NULL)
                    {
                        fprintf(stderr,"Can't open file %s (file:lang.c line:86)\n",fullPath);
                        exit(EXIT_FAILURE);
                    }
                    files[j].fileName=malloc(pent->d_namlen*sizeof(char));
                    if(files[j].fileName==NULL)
                    {
                        fprintf(stderr,"Can't allowed memory for fileName (file:lang.c line:92)\n");
                        exit(EXIT_FAILURE);
                    }
                    strcpy(files[j].fileName,pent->d_name);
                    files[j].numberLines=0;
                    files[j].maxLengthLine=0;
                    int c=0,maxLength=0;
                    while(c!=EOF)
                    {
                        c=fgetc(file);
                        maxLength++;
                        if(c=='\n')
                        {
                            if(maxLength > files[j].maxLengthLine)
                                files[j].maxLengthLine=maxLength;
                            maxLength=0;
                            (files[j].numberLines)++;
                        }
                    }
                    fclose(file);
                    j++;
                }
            }
            free(fullPath);
        }
        closedir(path);
    }
    free(path);
}

//*
void langCountC(char lang[],int numberFiles,LANG_LINE files[])
{
    char *path=langInitPath(lang);
    DIR *pdir=langOpen(path);
    int j=0,i=0;
    if(pdir!=NULL)
    {
        struct dirent *pent;
        while(pent=readdir(pdir))
        {
            char *fullPath=malloc((strlen(path)+strlen(pent->d_name))*sizeof(char*));
            if(!fullPath)
            {
                fprintf(stderr,"Can't allowed memory to fullPath (file:lang.c line:136)\n");
                exit(EXIT_FAILURE);
            }
            sprintf(fullPath,"%s\\%s",path,pent->d_name);
            if(isalnum(pent->d_name[0]))
            {
                if(strchr(pent->d_name,'.'))
                {
                    FILE *file=fopen(fullPath,"r");
                    if(file==NULL)
                    {
                        fprintf(stderr,"Can't open file %s (file:lang.c line:147)\n",fullPath);
                        exit(EXIT_FAILURE);
                    }
                    int c=0;
                    files[j].contentLine=malloc((files[j].maxLengthLine+1)*sizeof(char));
                    if(!(files[j].contentLine))
                    {
                        fprintf(stderr,"Can't allow memory (file:lang.c line:154)\n");
                        exit(EXIT_FAILURE);
                    }
                    for(i=0;i<=files[j].numberLines;i++)
                    {
                        files[j].contentLine[i]=malloc((files[j].maxLengthLine+1)*sizeof(char*));
                    }
                    i=0;
                    while(fgets(files[j].contentLine[i],files[j].maxLengthLine+1,file)!=NULL)
                    {
                        files[j].contentLine[i][strlen(files[j].contentLine[i])-1]='\0';
                        i++;
                    }
                    fclose(file);
                    j++;
                }
            }
            free(fullPath);
        }
        closedir(path);
    }
    free(path);
}

void langShowContent(int numberFiles,LANG_LINE files[])
{
    int i=0,j=0;
    for(j=0;j<numberFiles;j++)
    {
        fprintf(stdout,"%s:\n",files[j].fileName);
        for(i=0;i<files[j].numberLines;i++)
            fprintf(stdout,"%d:%d => %s\n",j,i,files[j].contentLine[i]);
        fprintf(stdout,"\n");
    }
}

void langFree(int numberFiles,LANG_LINE files[])
{
    int i=0,j=0;
    for(j=0;j<numberFiles;j++)
    {
        for(i=0;i<files[j].numberLines;i++)
            free(files[j].contentLine[i]);
        free(files[j].contentLine);
        free(files[j].fileName);
    }
}

/*
lang.h

Author: AstroProduction

Goal: Prototypes of lang.c

Created:20/04/2010
Last Updated: 23/04/2010

Copyright 2010. All rights reserved to AstroProduction
astro567@hotmail.com
User Rights:
    All Rights, just don't delete the headers.
*/

#ifndef LANGH_
#define LANGH_

/*
@struct LANG_LINE
@parameters:
    @int numberLines: number of lines in a file;
    @int maxLengthLine: line longest length in all the file;
    @char **contentLine: contain the sentence of the line;
*/
typedef struct{
    int numberLines;
    int maxLengthLine;
    char **contentLine;
    char *fileName;
}LANG_LINE;

/*
@function langCountFiles
@return: int: number of files
@parameters:
    @char* lang: the language name in two letters (eg:"en" for English)
@steps:
    @init path;
    @open the language directory
    @read the directory
    @count number of files
    @close directory
    @free memory
*/
int langCountFiles(char* lang);

/*
@function langInitPath
@return char*: full directory to the language folder
@parameters:
    @char* lang: the language name in two letters (eg:"en" for English)
@steps:
    @count the length of the path
    @write the path
*/
char* langInitPath(char* lang);

/*
@function langOpen
@return DIR*: pointer to the directory or NULL
@parameters:
    @char* path: path to the directory concerned
@steps:
    @open folder: fail return NULL, success return pointer to the folder
*/
DIR* langOpen(char* path);

/*
@function langCountLines
@return void
@parameters:
    @char* lang: the language name in two letters (eg:"en" for English)
    @int numberFiles: number of files in the folder
    @LANG_LINE (*files)[]: pointer to the struct
@steps:
    @init path;
    @open the language directory
    @read the directory
    @get fullpath
    @check file name (First lette is alnum and contain an extension)
    @open file
    @count the line that have the max length
    @count number of lines
    @close and free all.
*/
void langCountLines(char* lang,int numberFiles,LANG_LINE files[]);

/*
@function langCountC
@return void
@parameters:
    @char* lang: the language name in two letters (eg:"en" for English)
    @int numberFiles: number of files in the folder
    @LANG_LINE (*files)[]: pointer to the struct
@steps:
    @init path;
    @open the language directory
    @read the directory
    @get fullpath
    @check file name (First lette is alnum and contain an extension)
    @open file
    @allow memory for file[j].content[i]
    @write content in file[j].content[i]
    @close and free all.
*/
void langCountC(char lang[],int numberFiles,LANG_LINE files[]);

/*
@function langShowContent
@return void
@parameters:
    @int numberFiles: number of files in the folder
    @LANG_LINE (*files)[]: pointer to the struct
@steps:
    @Write the content with a loop
*/
void langShowContent(int numberFiles,LANG_LINE files[]);

/*
@function langFree
@return void
@parameters:
    @int numberFiles: number of files in the folder
    @LANG_LINE (*files)[]: pointer to the struct
@steps:
    @Free the content with a loop
*/
void langFree(int numberFiles,LANG_LINE files[]);

#endif

/*
config.h

Author: AstroProduction

Goal: General definitions for all the application

Created:20/04/2010
Last Updated: 20/04/2010

Copyright 2010. All rights reserved to AstroProduction
astro567@hotmail.com
User Rights:
    All Rights, just don't delete the headers.
*/

#ifndef CONFIGH_
#define CONFIGH_

#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <dirent.h>
#include "lang.h"

#define LANG "languages\\"

#endif

/*
versions.c

Author: AstroProduction

Goal: Resume all modifications

Created:23/04/2010
Last Updated: 23/04/2010

Copyright 2010. All rights reserved to AstroProduction
astro567@hotmail.com
User Rights:
    All Rights, just don't delete the headers.

Version: 1.0

=> System lang completed

*/

utilisation:
Definition du repertoire contenant les langues dans config.h
Definition de la langues dans la variable langues tel que defini dans le main.c (string de 2 lettres)
Il faut avoir creer le repertoire contenant les langues et les sous repertoires de langues: languages\\en\\ dans mon cas.

La fonction langShowContent ecris dans le stdout le nom du fichier les nombres files et content line respectivement ainsi que le contenu de la lignes correspondant.
Par exemple:
<code type="console">
main.txt
0:0 Bienvenue
0:1 A bientot
</code>

Pour afficher "A bientot" dans l'application il suffira d'<gras><taille valeur="gros">ecrire avant la fonction langFree</taille></gras>:
<secret><code type="c">
printf("%s",files[0].contentLine[1]);
</code></secret>

J'espere que mes explications sont assez clair. 
Merci pour vos reactions a l'avance. 

A bientot
Astro

 Conclusion

utilisation:
Definition du repertoire contenant les langues dans config.h
Definition de la langues dans la variable langues tel que defini dans le main.c (string de 2 lettres)
Il faut avoir creer le repertoire contenant les langues et les sous repertoires de langues: languages\\en\\ dans mon cas.

La fonction langShowContent ecris dans le stdout le nom du fichier les nombres files et content line respectivement ainsi que le contenu de la lignes correspondant.
Par exemple:
main.txt
0:0 Bienvenue
0:1 A bientot

Pour afficher "A bientot" dans l'application il suffira d'ecrire avant la fonction langFree:

printf("%s",files[0].contentLine[1]);

J'espere que mes explications sont assez clair.
Merci pour vos reactions a l'avance.

A bientot
Astro

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip JEU: MARIO SOKOBAN
Source avec Zip TOUR DE HANOI EN C

 Sources de la même categorie

CALCUL DE CLEF RIB par Renfield
Source avec Zip [C] WD_STRING V2.2 par cyberripper
Source avec Zip LES STRING EN C, AFFECTATION, CONCATÉNATION, SPLIT, ... par appranting
Source avec Zip [C] WD_STRING V1.9 par cyberripper
FONCTION : CHAR * AJUSTERTAILLECHAINE() par Rockanos

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture MULTI DESKTOPS par AndreJAO
Source avec Zip SERVEUR DE CONFERENCE MULTI - CLIENTS COMME MSN par elvan_2004
Source avec Zip CHAT SERVEUR/MULTICLIENT AVEC BASE DE DONNÉE C++/ACCESS par iHoss
Source avec Zip Source avec une capture KONKYO (ASM COMPILER, DECOMPILER, DEBUGGER, MACHINE VIRTUELL... par sebseb42

Commentaires et avis

Commentaire de Miwik le 25/04/2010 03:40:46

Jour !

Niveau expert ? Ca va les chevilles ? :D

Commentaire de neria le 26/04/2010 11:04:43

Tu devrais utiliser des tables de hashage, c'est plus éloquent (à moins de faire pleins de #define). Regardes l'approche de gettext, elle est très intéressante !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Multi language [ par obby ] Salut, &nbsp;J'ai mon appli devellop&#233; en MFC, mais je dois pouvoir choisir la langue ( francais ou anglais). Je ne sais pas du tout comment m'y Programmation multi langue [ par VinceVG ] Salut,Je viens de télécharger une application en anglais qui ne prend pas en charge de fichier de language. Le team de dévelloppement ma répondu que c kel est le language le plus aproprié ???? [ par jony24 ] donc je vous explique j aimerai savoir kel est le language le plus aproprié pour programer un je de cartes avec des regles assez complexes (genre "tri Serveur TCP multi-client [ par meech ] Bonjour,Je me suis attelé au développement d'un serveur TCP (extensible à divers protocoles) sous Win32 en C.Concrètement, je souhaiterais connaitre l labyrinthe en language c [ par timodu13 ] Salut tout le monde!Voila je dois effectuer un labyrinthe en language c avec un curseur ki se d&#233;place a l interieur !!!C mes debuts en language c traduction du morse en language C!!! [ par Despeman ] Nous sommes &#233;tudiants en IUT GTR et la programmation n'est pas notre point fort, on a un TP &#224; rendre mais nous avons des difficult&#233;s si Pointeur de fonction : multi-appels [ par Gendal67 ] Bonjour tout le monde,Les pointeurs de fonction me posent probl&#234;me!! sniff!! En fait, j'ai un pointeur de fonction pointant sur une fonction se t prise d'une photo a l'aide d'une webcam en language c [ par jedi_vulture ] Bonjour,je d&#233;bute dans le monde de la programmation et je cherche a connecter une webcam a l'aide du language c.une fois la webcam connecter je d le language C accedant à un SGBD et HTML: HELP!!! [ par refresh5 ] Bonjour,j'ai un projet &#224; faire pour mes cours, et je souhaiterais savoir s'il est possible d'utiliser le language C avec du HTML.le projet:J'ai u system de script [ par lalilo ] bonjour voila je suis entrein de cr&#233;er un logiciel de cr&#233;ation de jeu videos style "RPG Maker" et je voudrais implanter un language de scrip


Nos sponsors


Sondage...

Comparez les prix

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,499 sec (4)

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