Regler la taille d'une chaine de caractere en fontion d'une int

Résolu
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013 - 20 nov. 2005 à 18:47
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013 - 20 nov. 2005 à 20:19
Bonjour, je cherche a faire un ptit systeme pour mettre un gros
fichiers en partie, pour cela j'utilise une chaine de caractere qui me
sert de tampon mais j'aimerai bien qu'elle s'adapte a mon int (voir
exemple) cependant ma derniere ligne n'est pas possible, comment puis
je operer?



//renseignement sur le partitionnement

printf("quel fichier voulez vous decouper: ");

gets(buffer);

strcpy(filename,buffer);

printf("combien d'octets doit comporter une part");

gets(buffer);

octet = atoi(buffer);

//marge de 1 caractere et creation d'un tampon du nombre d'octets par part

octet++;

char tampon[octet]; //////ligne qui pose probleme

8 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 nov. 2005 à 18:58
char *tampon;
tampon = (char*) malloc(octet);
if(!tampon) return; // ou autre mais pas assez de mémoire

// utilisation de tampon
free(tampon); // si pas fait, y aura fuites mémoire

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 nov. 2005 à 19:34
ah non pas pour moi ici, je fais API Windows: GetFileSize()

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 nov. 2005 à 19:46
y en a plein mes sources, toutes API Win:

HANDLE hfl;
DWORD size;
hfl = CreateFile(...);
if(hfl == INVALID_HANDLE_VALUE) return;
size = GetFileSize(hfl, 0);
....
CloseHandle(hfl);

Voir MSDN et Richter pour explications détaillées:
http://brunews.free.fr/brunews/download/JR4.zip
http://brunews.free.fr/brunews/download/JR4Sources.zip

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
3
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
20 nov. 2005 à 19:22
merci beaucoup :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
20 nov. 2005 à 19:25
et sinon un autre truc sans rapport mais peut etre que tu connais le probleme, j'ai sa dans mon prog



//ouverture du fichier source en lecture

FILE *fo;

if(fo = fopen(filename,"r"))

{

//calcul du nombre d'octets et initialisation

long filesize(FILE *fo);



et ca me retourne l'erreur;

prog.obj : error LNK2001: unresolved external symbol "long __cdecl filesize(struct _iobuf *)" (?filesize@@YAJPAU_iobuf@@@Z)

C:\Documents and Settings\Administrator\My Documents\Prog C\prog\Release\prog.exe : fatal error LNK1120: 1 unresolved externals

.
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
20 nov. 2005 à 19:37
ok bein j'vai faire la meme chose j'crois ^^ :D merci j'connaissait pas
cette fonction :), franchement pourquoi t'est un geni c'est affreux tu
repond a toute mes questions... :)
.
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
20 nov. 2005 à 19:42
tu pourrai me faire un exemple vite fais s'il te plais car j'comprend pas tout pour getfilesize...
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
20 nov. 2005 à 20:19
j'crois dans ma signature j'vais mettre merci BruNews :D ca m'evitera de le mettre a chaque fois, non serieux encore merci ^^[auteurdetail.aspx?ID=39449 ]
.
0
Rejoignez-nous