C chaine + ascii
Résolu/Fermé
capa57
Messages postés
352
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
26 mai 2016
-
28 nov. 2011 à 20:29
Utilisateur anonyme - 28 nov. 2011 à 22:25
Utilisateur anonyme - 28 nov. 2011 à 22:25
A voir également:
- C chaine + ascii
- Caractère ascii - Guide
- Chaine tnt gratuite sur mobile - Guide
- Nouvelle chaîne tnt gratuite 2024 - Accueil - TV & Vidéo
- Plus de chaine tv - Guide
- Chaine radio - Télécharger - Médias et Actualité
7 réponses
Utilisateur anonyme
28 nov. 2011 à 20:52
28 nov. 2011 à 20:52
tu compares une chaine à un caractère, ça ne colle pas..
char c;
while ((c = getchar ()) != 0x1B) ....
char c;
while ((c = getchar ()) != 0x1B) ....
capa57
Messages postés
352
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
26 mai 2016
13
28 nov. 2011 à 21:13
28 nov. 2011 à 21:13
pas trop compris là... c'est quoi la variable c ?
capa57
Messages postés
352
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
26 mai 2016
13
28 nov. 2011 à 21:23
28 nov. 2011 à 21:23
#include <stdio.h>
int main(char argc, char *argv[]){
char nom[20],phrase[100], c;
FILE *fichier;
printf("nom du fichier ? \n");
scanf("%s", nom);
fichier=fopen(nom,"w");
while ((c = getchar ()) != 0x1B){
printf("Entrez une phrase \n");
fgets(phrase,100,stdin);
printf("phrase : %s", phrase);
fprintf(fichier,"%s\n",phrase);
}
}
J'ai fait ça, il me quitte bien qd je fais échap... mais maintenant il bug un peu, la 1ere phrase que je tappe il me la prends... ensuite il me demande que 1 fois sur 2 de rentrez une phrase, et quand il me les affiche, il m'enlève la 1ere lettre ...
:'(
int main(char argc, char *argv[]){
char nom[20],phrase[100], c;
FILE *fichier;
printf("nom du fichier ? \n");
scanf("%s", nom);
fichier=fopen(nom,"w");
while ((c = getchar ()) != 0x1B){
printf("Entrez une phrase \n");
fgets(phrase,100,stdin);
printf("phrase : %s", phrase);
fprintf(fichier,"%s\n",phrase);
}
}
J'ai fait ça, il me quitte bien qd je fais échap... mais maintenant il bug un peu, la 1ere phrase que je tappe il me la prends... ensuite il me demande que 1 fois sur 2 de rentrez une phrase, et quand il me les affiche, il m'enlève la 1ere lettre ...
:'(
capa57
Messages postés
352
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
26 mai 2016
13
28 nov. 2011 à 22:01
28 nov. 2011 à 22:01
quand je test avec une chaine de caractère par exemple quand je tappe "exit" ça fonctionne, mais j'arrive pas AVEC LE CODE ASCII :@
je comprends vraiment rien au C (c'est horrible comme langage)
#include <stdio.h>
int main(char argc, char *argv[]){
char nom[20],phrase[100], c;
FILE *fichier = NULL;
printf("nom du fichier ? \n");
scanf("%s", nom);
fichier=fopen(nom,"w");
/*while ((c = getchar ()) != 0x1B){
printf("Entrez une phrase \n");
fgets(phrase,100,stdin);
printf("phrase : %s", phrase);
fprintf(fichier,"%s\n",phrase);
}
//fclose(fichier);
}
*/
FILE *fich1 = NULL;
fich1=fopen(nom, "w");
if (fichier != NULL) {
while (strcmp(phrase, "exit") != 0) {
printf("Enter the text you want to add to the file : \n");
gets(phrase);
if (strcmp(phrase, "exit") !=0 ) {
fprintf(fichier, "%s", phrase);
fprintf(fichier, "\n");
}
}
} else {
printf("fopen did not open the file!!!\n");
}
fclose(fichier);
return 0;
}
je comprends vraiment rien au C (c'est horrible comme langage)
#include <stdio.h>
int main(char argc, char *argv[]){
char nom[20],phrase[100], c;
FILE *fichier = NULL;
printf("nom du fichier ? \n");
scanf("%s", nom);
fichier=fopen(nom,"w");
/*while ((c = getchar ()) != 0x1B){
printf("Entrez une phrase \n");
fgets(phrase,100,stdin);
printf("phrase : %s", phrase);
fprintf(fichier,"%s\n",phrase);
}
//fclose(fichier);
}
*/
FILE *fich1 = NULL;
fich1=fopen(nom, "w");
if (fichier != NULL) {
while (strcmp(phrase, "exit") != 0) {
printf("Enter the text you want to add to the file : \n");
gets(phrase);
if (strcmp(phrase, "exit") !=0 ) {
fprintf(fichier, "%s", phrase);
fprintf(fichier, "\n");
}
}
} else {
printf("fopen did not open the file!!!\n");
}
fclose(fichier);
return 0;
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
28 nov. 2011 à 22:07
28 nov. 2011 à 22:07
la premiere lettre part dans le getchar, soit tu utilises fgets mais il faudra inclure la premiere lettre dans ta chaine, soit tu n'utilises que getchar pour construire tes phrases
ça peut ressembler à ça , mais je n'ai pas testé , je n'ai pas de compilo ici ...
int i;
char c;
do
{
i=0;
printf("Entrez une phrase ou ESC pour sortir\n");
c = getchar();
while ( (c!='\n') && (c!=0x1B) && ( i<99))
{
phrase[i++]=c;
c=getchar();
}
if ( i>0)
{
phrase[i]='\0';
printf("phrase : %s", phrase);
fprintf(fichier,"%s\n",phrase);
}
}while ( c != 0x1B )
ça peut ressembler à ça , mais je n'ai pas testé , je n'ai pas de compilo ici ...
int i;
char c;
do
{
i=0;
printf("Entrez une phrase ou ESC pour sortir\n");
c = getchar();
while ( (c!='\n') && (c!=0x1B) && ( i<99))
{
phrase[i++]=c;
c=getchar();
}
if ( i>0)
{
phrase[i]='\0';
printf("phrase : %s", phrase);
fprintf(fichier,"%s\n",phrase);
}
}while ( c != 0x1B )
capa57
Messages postés
352
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
26 mai 2016
13
28 nov. 2011 à 22:19
28 nov. 2011 à 22:19
pffff tu me dégoutes... ça fonctionne lol ^^
bha merci, j'ai vraiment du mal à capter le C quoi, c'est vraiment complèxe il y a trop de fonctions... getchar() scanf printf getch() bla bla bla
en tout cas merci voici le code complet pour ceux qui veulent :)
#include <stdio.h>
int main(char argc, char *argv[]){
char nom[20],phrase[100], c;
FILE *fichier;
printf("nom du fichier ? \n");
scanf("%s", nom);
fichier=fopen(nom,"w");
int i;
do
{
i=0;
printf("Entrez une phrase ou appuyez sur ECHAP pour quitter\n");
c = getchar();
while ( (c!='\n') && (c!=0x1B) && ( i<99))
{
phrase[i++]=c;
c=getchar();
}
if ( i>0)
{
phrase[i]='\0';
printf("phrase : %s\n", phrase);
fprintf(fichier,"%s\n",phrase);
}
}while ( c != 0x1B ) ;
}
bha merci, j'ai vraiment du mal à capter le C quoi, c'est vraiment complèxe il y a trop de fonctions... getchar() scanf printf getch() bla bla bla
en tout cas merci voici le code complet pour ceux qui veulent :)
#include <stdio.h>
int main(char argc, char *argv[]){
char nom[20],phrase[100], c;
FILE *fichier;
printf("nom du fichier ? \n");
scanf("%s", nom);
fichier=fopen(nom,"w");
int i;
do
{
i=0;
printf("Entrez une phrase ou appuyez sur ECHAP pour quitter\n");
c = getchar();
while ( (c!='\n') && (c!=0x1B) && ( i<99))
{
phrase[i++]=c;
c=getchar();
}
if ( i>0)
{
phrase[i]='\0';
printf("phrase : %s\n", phrase);
fprintf(fichier,"%s\n",phrase);
}
}while ( c != 0x1B ) ;
}
Utilisateur anonyme
28 nov. 2011 à 22:25
28 nov. 2011 à 22:25
bah, tu vas vite t'y faire, un peu de pratique et ça roule (:-)
28 nov. 2011 à 20:59