Salut,
J'ai trouvé ce forum très utile dans mes études de langage C -. Je vous remercie pour cela.
Eh bien maintenant, j'ai un problème de ma propre.
Je vous écris un programme qui peut traiter un grand nombre qui peut être de 300 caractères.
Le programme est supposé lire le premier numéro du fichier, puis ajouter le numéro de seconde pour les entrées utilisateur et l'écrire dans le fichier. Maintenant, j'ai appris à l'endroit où je suis censé écrire ce nombre dans le fichier. Je suis un peu coincé avec ça.
Voici la définition de type pour le "grand nombre"
#define MAX 300
typedef int BigNumber[MAX];
BigNumber N;
- #define MAX 300
- typedef int BigNumber[MAX];
- BigNumber N;
et voici la fonction où j'ai lu le numéro du fichier de l'.
void readbignumberFromfile(BigNumber N, FILE * file)
{
char str[MAX];
int i;
fscanf(file,"%s", str);
N[0] = strlen(str);
for (i = strlen(str)-1; i>=0; i--)
N[N[0]-i] = chrtoint(str[i]);
}
int chrtoint(char a)
{
int i;
for (i = 48; i<=57; i++){
if ( (char)(i)==a) return i-48;
}
return -1;
}
- void readbignumberFromfile(BigNumber N, FILE * file)
- {
- char str[MAX];
- int i;
- fscanf(file,"%s", str);
-
- N[0] = strlen(str);
-
- for (i = strlen(str)-1; i>=0; i--)
- N[N[0]-i] = chrtoint(str[i]);
- }
- int chrtoint(char a)
- {
- int i;
- for (i = 48; i<=57; i++){
- if ( (char)(i)==a) return i-48;
- }
- return -1;
- }
comment pourrait-il être fait facilement à écrire le numéro dans le fichier. Si convertir le nombre de int à char, puis écrire ou comment devrait-il être fait?
J'ai essayé ce genre de fonction mais il ajoute que certains kinf de carrés dans le fichier.
void writebignumberTofile(BigNumber N, FILE * file)
{
int i;
for (i = N[0]-1; i>=0; i--)
putc(N[i], file);
}
- void writebignumberTofile(BigNumber N, FILE * file)
- {
- int i;
- for (i = N[0]-1; i>=0; i--)
- putc(N[i], file);
- }