Créer un chat en langage C .
Masterchief
-
Masterchief -
Masterchief -
Bonjour,
Je cherche à créer un chat en langage C, et seulement en langage C car je voudrais l'intégrer à un autre programme. Je travaille sous linux. J'ai commencé par faire deux fichiers avec les fonctions qui écrivent dans un fichier .txt, en ouvrant un programme avec une console et un second avec une autre console, pour qu'on puisse se parler... j'espère être assez clair...
Et donc je me demandais si c'était vraiment une bonne idée, car ma fonction lit dans le fichier, et affiche ce qu'il y a puis écris si j'écris quelque chose dans la console, mais si l'autre écrit, ça ne relit pas depuis le début dans la console...
Alors si vous pouvez me donner un petit coup de main ça pourrait m'aider, je suis pas très fort non plus en programmation ...
Merci d'avance
voila un exemple de ma fonction
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <unistd.h>
#define EffacerEcran system("clear")
#define goto(x,y) printf("\033[%d; %dH", y,x)
int main( void ) {
char nom1[20];
char tmp[500];
char a;
FILE *chat;
do
{
chat = fopen("blabla2.txt", "r+");
if (!chat)
printf("ERREUR: Impossible d'ouvrir le fichier.\n");
}
while (!chat);
printf("entrer votre nom \n");
scanf("%s",nom1);
while(1){
while(fgets(tmp,500,chat)){
printf("%s said: \t", nom1);
printf("%s", tmp);
}
printf("\n%s says:",nom1);
fgets(tmp,500,stdin);
fprintf(chat,"%s", tmp) ;
};
return 0;
}
Je cherche à créer un chat en langage C, et seulement en langage C car je voudrais l'intégrer à un autre programme. Je travaille sous linux. J'ai commencé par faire deux fichiers avec les fonctions qui écrivent dans un fichier .txt, en ouvrant un programme avec une console et un second avec une autre console, pour qu'on puisse se parler... j'espère être assez clair...
Et donc je me demandais si c'était vraiment une bonne idée, car ma fonction lit dans le fichier, et affiche ce qu'il y a puis écris si j'écris quelque chose dans la console, mais si l'autre écrit, ça ne relit pas depuis le début dans la console...
Alors si vous pouvez me donner un petit coup de main ça pourrait m'aider, je suis pas très fort non plus en programmation ...
Merci d'avance
voila un exemple de ma fonction
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <unistd.h>
#define EffacerEcran system("clear")
#define goto(x,y) printf("\033[%d; %dH", y,x)
int main( void ) {
char nom1[20];
char tmp[500];
char a;
FILE *chat;
do
{
chat = fopen("blabla2.txt", "r+");
if (!chat)
printf("ERREUR: Impossible d'ouvrir le fichier.\n");
}
while (!chat);
printf("entrer votre nom \n");
scanf("%s",nom1);
while(1){
while(fgets(tmp,500,chat)){
printf("%s said: \t", nom1);
printf("%s", tmp);
}
printf("\n%s says:",nom1);
fgets(tmp,500,stdin);
fprintf(chat,"%s", tmp) ;
};
return 0;
}
A voir également:
- Créer un chat en langage C .
- Coco chat - Accueil - Réseaux sociaux
- Remplaçant de Coco : quelles solutions pour tchater gratuitement en ligne ? - Accueil - Réseaux sociaux
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un lien pour partager des photos - Guide
6 réponses
Salut,
Pourquoi dans ton do, tu fais un if (!chat), alors que la condition de fin de ta boucle est justement (!chat) ? Et d'ailleurs pourquoi fait tu une boucle pour ouvrir ton fichier, si c'est toujours le même ?
Je ne comprend pas vraiment ce que tu souhaite faire.
Pourquoi écris tu dans des fichiers, pour faire communiquer deux client ?
Pourquoi dans ton do, tu fais un if (!chat), alors que la condition de fin de ta boucle est justement (!chat) ? Et d'ailleurs pourquoi fait tu une boucle pour ouvrir ton fichier, si c'est toujours le même ?
Je ne comprend pas vraiment ce que tu souhaite faire.
Pourquoi écris tu dans des fichiers, pour faire communiquer deux client ?
pour le if(!chat), c'est que je l'avais fait au debut, par habitude pour dire que le fichier n'avait pas pu etre ouvert.
Et j'ai fait une boucle pour ouvrir mon fichier car je me disais que comme ça, le programme n'arreterait pas de lire en temps réel ce qui se trouvait dans le fichier, mais ça ne fonctionne pas comme je l'aurais espérer.
Apres, il y a sans doute un meilleurs moyen pour communiquer entre deux clients, mais je l'ai pas trouvé.
Et j'ai fait une boucle pour ouvrir mon fichier car je me disais que comme ça, le programme n'arreterait pas de lire en temps réel ce qui se trouvait dans le fichier, mais ça ne fonctionne pas comme je l'aurais espérer.
Apres, il y a sans doute un meilleurs moyen pour communiquer entre deux clients, mais je l'ai pas trouvé.
Non, beh non, ça risque pas de marcher.
Avec fopen, tu ne fais que ouvrir le fichier, tu ne lis pas dedans.
C'est avec la fonction fgets que tu vas lire les lignes.
Mais laisse tombé, tu ne pourra pas faire une chat en communiquant avec un fichier.
Si tu veux faire une tchat, tu dois d'abord coder un serveur, et ensuite coder le client qui va si connecter.
Avec fopen, tu ne fais que ouvrir le fichier, tu ne lis pas dedans.
C'est avec la fonction fgets que tu vas lire les lignes.
Mais laisse tombé, tu ne pourra pas faire une chat en communiquant avec un fichier.
Si tu veux faire une tchat, tu dois d'abord coder un serveur, et ensuite coder le client qui va si connecter.
et comment je code un serveur et un client qui s'y connecte?
En fait je comprends pas ce que ça veut dire, "un serveur". c'est quoi un serveur en programmation? j'ai essayé de regarder sur internet, mais on dirait que ça dépasse un peu mes connaissances. Ils parlent de socket...
En fait je comprends pas ce que ça veut dire, "un serveur". c'est quoi un serveur en programmation? j'ai essayé de regarder sur internet, mais on dirait que ça dépasse un peu mes connaissances. Ils parlent de socket...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En fait, il faut que tu utilise des fonctions réseau.
Un serveur, est un programme qui attend que des clients ce connecte à lui, et qui va rediriger les informations que les clients vont lui envoyer.
C'est pas à la porter du premier programmeur effectivement, si tu veux coder un tchat, tu devra faire beaucoup de recherche.
Un serveur, est un programme qui attend que des clients ce connecte à lui, et qui va rediriger les informations que les clients vont lui envoyer.
C'est pas à la porter du premier programmeur effectivement, si tu veux coder un tchat, tu devra faire beaucoup de recherche.