2016-12-09 1 views
-2

Mon enseignant a développé un serveur qui génère des caractères et des nombres aléatoires. J'ai besoin de créer un programme qui prend ce qui est généré et le mettre sous forme d'entrée standard et trouver la quantité d'octets en utilisant l'opérateur sizeof(). En outre, si une fin aléatoire de fichier se produit alors il devrait générer un message et combien d'octets ont traversé. Je suis un codeur de base et ai besoin d'un peu d'aide avec mon programme parce que je n'ai aucune idée d'où aller d'ici pour réparer mon erreur.Coverting To Bytes In C

#include <stdlib.h> 
#include <stdio.h> 

int main() { 
    int input; 
    int sum; 
    int size; 

    do { 
    size = sizeof(input); 
    sum =+ size; 
    input = 0; 
    } while (scanf("%c", &input)!=EOF); 

    if (EOF) { 
    printf("Random End of File Has Occured.\n%d Bytes Have Been Received.", sum); 
    } 

    else { 
    printf("End of Transmission Completed.\n%d Bytes Have Been Received.", sum); 
    } 
    return 0; 
} 

Voici un exemple de ce que j'ai besoin de ressembler à: Example

267.625293748653 
5233.717459639272 
29779 
6489 
3579.434430982391 
28896 
8834 
3152.852412488174 
25321 
8320 
28836 
8875.864858351391 
9539.445326098274 
3859.598437452315 
12345 
195.324900951882 
25139 
22473 
595.885992279732 
2765.982421338542 
6554.456891649837 
5822.693258461257 
9979.479628894926 
193.095583971679 
9349.095348739159 
7462 

Read 447 bytes from standard input 
C:\Users\Brett\Downloads\hw2 (1)> 
+1

"voici mon devoir, s'il vous plaît corriger mon programme sans une description du problème" n'est pas une question. – Blorgbeard

+0

_Trouver la quantité d'octets en utilisant sizeof() operator_ ??? Compte recevoir BYTE au lieu de. – BLUEPIXY

+0

un exemple s'il vous plaît texte, pas une image. – BLUEPIXY

Répondre

0

Il y a deux choses que vous devez corriger.

  1. Vous devez initialiser sum = 0; avant de commencer à ajouter la taille à elle sum += size;. La façon dont vous l'avez maintenant la variable sum a été initialisée avec la poubelle parce qu'elle est sur la pile. Essentiellement, vous ajoutez une taille connue à une valeur garbage.

  2. Votre code n'ajoute pas size à sum. Vous devez changer sum =+ size; pour sum += size;

Hope this helps!