2016-12-19 5 views
-6

У меня есть эта функция в коде, который я пытаюсь ввести в файл ввода-вывода, и я не могу это сделать.Как ввести функцию в файл в c

void show_list(int whyeven[stuff], char *hatred[stuff]) 
{ 
    for (int g = 0; g < stuff - 1; g++) 
    { 
    if (whyeven[g] < 10 || whyeven[g] == 0) 
    { 
     printf("%s - %d (*) you should buy more of this stuff\n\n",hatred[g], whyeven[g]); 
    } 
    else if (whyeven[g] > 10) 
    { 
     printf("%s - %d\n\n", hatred[g], whyeven[g]); 
    } 
    } 
} 

int main() 
{ 
    show_list(moarstuff, items); 
    return 0; 
} 
+0

Мы понятия не имеем, что он должен делать и что это (и не делает). Просьба уточнить. Кроме того, предоставьте [mcve] – KevinDTimm

+0

Зачем тестировать 'whyeven [g] <10 || whyeven [g] == 0'? Второй - первый. Кроме того, вы тестируете 'whyeven [g] <10' и позже для' whyeven [g]> 10'. Как насчет того, когда 'whyeven [g] == 10'? – KevinDTimm

+0

Еще одна вещь: вы не отправляете 'stuff' в свою функцию, хотя вы и думаете. – KevinDTimm

ответ

0

printf() печатает на stdout. Вам нужен fopen() этот файл, а затем используйте fprintf() с возвращенным с fopen()FILE* указателем в качестве первого аргумента.

/* Open the file for writing */ 
FILE* fp = fopen("filename.txt", "w"); 
/* Check for errors */ 
if (fp == NULL) 
{ 
    /* Notify the user of the respective error and exit */ 
    fprintf(stderr, "%s\n", strerror(errno)); 
    exit(1); 
} 
/* Write to the file */ 
fprintf(fp, "Hello!\n"); 
/* Close the file */ 
fclose(fp); 

Примечание: Ваш вопрос был неясным, и этот ответ основан на том, что я мог понять из этого.

+1

Generic 'так, как вы делаете буферизованный ввод/вывод файлов, явно является WAG при некотором решении какой-либо проблемы где-то, но соединение с OP меньше, чем незначительное. – KevinDTimm

+0

Я знаю. Я предпочел бы более конкретный вопрос. – glauxosdever

Смежные вопросы