2016-12-09 4 views
-2

Мой учитель разработал сервер, который генерирует случайные символы и цифры. Мне нужно создать программу, которая берет то, что генерируется, и помещает ее в стандартную форму ввода и находит количество байтов с помощью оператора sizeof(). Кроме того, если происходит случайный конец файла, он должен сгенерировать сообщение и сколько байтов прошло. Я базовый кодер и нуждаюсь в небольшой помощи с моей программой, потому что я понятия не имею, куда идти отсюда, чтобы исправить мою ошибку.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; 
} 

Вот пример того, что мне это нужно, чтобы выглядеть следующим образом: 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

«вот мое домашнее задание, пожалуйста, исправьте мою программу без описания проблемы», это не вопрос. – Blorgbeard

+0

_определите количество байтов с помощью оператора sizeof()_ ??? Граф принимает BYTE вместо. – BLUEPIXY

+0

пример пожалуйста текст, а не изображение. – BLUEPIXY

ответ

0

Есть две вещи, которые нужно будет исправить.

  1. Вы должны инициализировать sum = 0;, прежде чем начать добавлять к нему размер sum += size;. То, как у вас есть, теперь переменная sum была инициализирована мусором, потому что она находится в стеке. По существу, вы добавляете известный размер в значение для мусора.

  2. Ваш код не добавляет size в sum. Вам нужно изменить sum =+ size; к sum += size;

Надеется, что это помогает!