begin process at 2012 05 29 06:16:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

erreur sur TURBO C "NOT ENOUGH MEMORY"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

erreur sur TURBO C "NOT ENOUGH MEMORY"

lundi 13 septembre 2010 à 17:40:28 | erreur sur TURBO C "NOT ENOUGH MEMORY"

eliramomo

Bonjour tout le monde,
j'aimerai que vous m'aidiez a propos d'une erreure que je recois lors de l'execution a partir de turbo C
ça s'affiche NOT ENOUGH MEMORY et voici le code:
#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include<math.h>
#include<string.h>
#include<dir.h>

void main()
{
struct ffblk ffblk;
int done=0;
FILE *f_call;
char *s;
int mois=0,i,e,som;
long tab[1000][12]={0};

clrscr();

done=findfirst("*.txt",&ffblk,0);
while(done==0)
{
if(mois==12)
mois=1;
else
mois++;

f_call=fopen(ffblk.ff_name,"r");

while(!feof(f_call))
{
fscanf(f_call,"%s",s);
for(i=0;i<100&&i<strlen(s);i++)
if(s[i]=='E')
if(s[i+1]=='R')
if(s[i+2]=='O')
{
som=(s[i+3]-'0')*100+(s[i+4]-'0')*10+(s[i+5]-'0');
tab[som][mois]=tab[som][mois]+1;
}

}
for(i=0;i<1000;i++)
if(tab[i]!=0)
{
printf("%d\t%ld\n",i,tab[i]);
}
getch();
clrscr();
done=findnext(&ffblk);
}
fclose(f_call);
getch();
}


UN GRAND MERCI D'AVANCE
mohamed
lundi 13 septembre 2010 à 19:35:44 | Re : erreur sur TURBO C "NOT ENOUGH MEMORY"

ghuysmans99

Membre Club
Code illisible, poste sur Pastebin et passe-nous un lien.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
jeudi 16 septembre 2010 à 01:34:13 | Re : erreur sur TURBO C "NOT ENOUGH MEMORY"

nanonavich



som=(s[i+3]-'0')*100+(s[i+4]-'0')*10+(s[i+5]-'0');
tab[som][mois]=tab[som][mois]+1;


sois sure que som depasse pas 1000

je ferais genre
if(som<1000) tab[som][mois]=tab[som][mois]+1;


char *s;

quel est la grosseur de s en principe on l utulise comme pointeur

fscanf(f_call,"%s",s);
for(i=0;i<100&&i<strlen(s);i++)
if(s[i]=='E')
if(s[i+1]=='R')
if(s[i+2]=='O')

char s[101];
fscanf(f_call,"%s",s);
for(i=0;i<100&&i<strlen(s);i++)
if(s[i]=='E')
if(s[i+1]=='R')
if(s[i+2]=='O')
dimanche 3 octobre 2010 à 16:40:21 | Re : erreur sur TURBO C "NOT ENOUGH MEMORY"

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

Dans ton premier code, ton utilisation de s est effectivement incorrecte. Tu passes en paramètre de fscanf un pointeur non initialisé qui peut pointer sur tout et n'importe quoi.

Utiliser une taille de 100 est aussi arbitraire et dangereuse, sauf si tu es parfaitement sûr que la structure de ton fichier fera que fscanf ne lira jamais plus de 100 caractères.

Comme expliqué dans certaines de tes précédentes question, il faudrait mieux charger le fichier complet en mémoire puis de travailler sur le tableau chargé.

Regarde ce genre de code.
Il propose par exemple une fonction pour charger un fichier en mémoire (Si le fichier n'est pas trop gros, inférieur à quelques 100 de Mo par exemple).


Cette discussion est classée dans : include, tab, mois, call, ffblk


Répondre à ce message

Sujets en rapport avec ce message

Chaine de caractère [ par Thanatoster ] Bonjour a tous, mon problème est le suivant, pour les cours je dois faire un programme d'apres l'énoncé suivant"saisir au clavier des éléments chaine GetAsyncKeyState [ par sebleboss2002 ] Bon, c'est encore moi, ce coup-ci, j'ai trouvé (plus ou moins) comment faire ce que je voulais :#include #include <br a l aiiiiiiiiidddddeeeeeeeee [ par natacha86 ] je ne comprend pas pkoi le programme une fois qu'il a lancé le premier choix du menu a la fin il ne reviens pas au menu, il s'arrete directement, merc menu avec un switch [ par natacha86 ] je ne comprend pas pkoi le programme une fois qu'il a lancé le premier choix du menu a la fin il ne reviens pas au menu, il s'arrete directement, merc aide par rapport a l'appel d'une méthode [ par natacha86 ] quel est le probleme de ma méthode init_tab ? le programme s'arrete aprse etre passé dans cette méthode, il plante, et ne rentre pas dans la méthode d tableau char [ par dingue007 ] Voila je dois faire un prog en C++ : un tableau avec les mois de lannée et quand je tape un chiffre il me sort le mois ! mais je narrive pas a faire l cryptage de cesar sur c++ [ par juniordiaw ] bjr a tous g un problemea vec mon code o faite lorske g rentre un letre il me la crypte mai sil sagi dun mo ou dune phrase il ne crypte ke la premiere declaration d'un tableau [ par badsha ] bonjour j'arrive à comprendre pourquoi je ne peux pas mettre ça" int tab[t] = {1,2}; " au lieu de " int tab[2] = {1,2}; " ça marche avec " #define t 3 Programme en c++ [ par noussa44 ] Bonjour à tous, Je suis débutant en c++ et j'ai un problème dans un exercice qui demande de lire à partir d'un fichier texte des réels et les stockés Pb de récuperation d'une liste chainée passée en réf à une autre fonction [ par amosaid ] Bonjour, mon code (en c) contient des appels imbrquées des fonctions, chaque fonction doit retourner TRUE ou FALSE (pas d'échage de variables par "re


Nos sponsors


Sondage...

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

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