2017-01-27 7 views
1

В настоящее время у меня есть файл с именем assign1.c, который компилируется и работает правильно, когда я запускаю его с помощью SSH для подключения к удаленному терминалу Linux.Ошибка программирования C при переадресации вывода файла c в другой файл

#include <stdio.h> 
#define PI 3.141593 

int main(){ 
    int degrees = 0; 
    double radians; 

    printf("Degrees to Radians \n"); 

    degrees = 0; 
    radians = degrees*PI/180; 
    printf("%6i %9.6f \n", degrees, radians); 

    degrees = 10; 
    radians = degrees*PI/180; 
    printf("%6i %9.6f \n", degrees, radians); 

    while(degrees < 350){ 
     degrees +=10; 
     radians = degrees*PI/180; 
     printf("%6i %9.6f \n", degrees, radians); 
    } 

    degrees = 360; 
    radians = degrees*PI/180; 
    printf("%6i %9.6f \n", degrees, radians); 

} 

Я ./assign1> prog1.c для перенаправления и направить вывод в другой файл prog1.c

Degrees to Radians 
    0 0.000000 
    10 0.174533 
    20 0.349066 
    30 0.523599 
    40 0.698132 
    50 0.872665 
    60 1.047198 
    70 1.221731 
    80 1.396264 
    90 1.570796 
    100 1.745329 
    110 1.919862 
    120 2.094395 
    130 2.268928 
    140 2.443461 
    150 2.617994 
    160 2.792527 
    170 2.967060 
    180 3.141593 
    190 3.316126 
    200 3.490659 
    210 3.665192 
    220 3.839725 
    230 4.014258 
    240 4.188791 
    250 4.363324 
    260 4.537857 
    270 4.712389 
    280 4.886922 
    290 5.061455 
    300 5.235988 
    310 5.410521 
    320 5.585054 
    330 5.759587 
    340 5.934120 
    350 6.108653 
    360 6.283186 

Однако при попытке компиляции GCC -o prog1 prog1.c I получить сообщение об ошибке.

prog1.c:1:1: error: unknown type name âDegreesâ 
Degrees to Radians 
^ 
prog1.c:1:12: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before âRadiansâ 
Degrees to Radians 
      ^

Я новичок в программировании на С и все еще испытываю проблемы с пониманием сообщений об ошибках, на самом деле кто-то действительно понимает мое сообщение об ошибке?

+2

Когда вы перенаправляете его в исходный файл, вы * переписываете * исходный исходный файл с выходом первой программы. Вероятно, вы имели в виду * pipe * вывод из первой программы во вторую (скомпилированную) программу, например './assign1 | ./Prog1' –

ответ

0

Я немного смущен тем, чего вы пытаетесь достичь, поэтому я расскажу вам всю историю.

Итак, у вас есть программа, написанная на C (т. Е. Текстовый файл). Поскольку компьютер не понимает текст, нам нужно перевести его на компьютерный язык. Итак, у вас есть программа assign1.c, компиляции, что в исполняемый файл (т.е. перевести C в машиночитаемом виде):

gcc -o assign1 assign1.c 

Затем запустите Assign1:

./assign1 

, который создает пучок вывода на выводе (то есть на экране). Вы можете написать, что в файл с помощью переадресации:

./assign1 > prog1.c 

Теперь файл prog1.c представляет собой простой текстовый файл, который содержит вывод, полученный по программе (расширение не имеет значения). Попытка скомпилировать, что использование gcc бесполезно, потому что это не действительная программа на C, а скорее содержит данные из вашей программы.

Теперь, что делать с этим файлом? Ну, что хочешь. Вы можете посмотреть на него:

кошка prog1.c

или

менее prog1.c

(д, чтобы выйти из менее), или отправить его другу или .. .без разницы.