Форум программистов, компьютерный форум CyberForum.ru

функции fgetc()/fputc - C++

Восстановить пароль Регистрация
 
NIER
2 / 2 / 0
Регистрация: 11.10.2012
Сообщений: 25
24.11.2012, 14:19     функции fgetc()/fputc #1
Помогите с задачей, эта тема просто в голову никак не лезет.
Используя функции fgetc/fputc, ввести с клавиатуры свои инициалы латинскими буквами, а затем каждый инициал вывести 50 раз в одну строку. на экране должно быть три строки по 50 символов.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
24.11.2012, 18:04     функции fgetc()/fputc #2
fgetc/fputc это функции для манипуляции файлов, вы уверенны что нужно использовать именно их а не getc/putc?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.11.2012, 18:25     функции fgetc()/fputc #3
Цитата Сообщение от xtorne21st Посмотреть сообщение
fgetc/fputc это функции для манипуляции файлов
Не обязательно файлов. Потоков, которые могут быть связаны и со стандартными потоками ввода/вывода: stdin/stdout.
C++
1
2
int i = fgetc(stdin);
fputc(i, stdout);
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
24.11.2012, 19:39     функции fgetc()/fputc #4
Благодаря подсказке alsav22 мы имеем:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <stdlib.h>
 
int main( void )
{
    int i;
    char c;
    int name, middle_name, surname;
    printf( "Enter your name, middle_name, surname: <_/_/_/>:\n" );
    name = fgetc(stdin);
    middle_name = fgetc(stdin);
    surname = fgetc(stdin);
    
    for( i = 0; i < 50; ++i)
    fputc( name, stdout );
    fputc( '\n', stdout );
    for( i = 0; i < 50; ++i)
    fputc( middle_name, stdout );
    fputc( '\n', stdout );
    for( i = 0; i < 50; ++i)
    fputc( surname, stdout );
    
    return 0;
}
NIER
2 / 2 / 0
Регистрация: 11.10.2012
Сообщений: 25
25.11.2012, 16:40  [ТС]     функции fgetc()/fputc #5
Большое спасибо

Добавлено через 11 минут
А если бы были функции gets и puts? это то же самое?
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
25.11.2012, 22:07     функции fgetc()/fputc #6
нет, если работа со строками то только fputs() и fgets() можно перенаправить на ус-во ввода и вывода.
Прототипы этих функций следующие:
C++
1
2
int fputs(const char *s, FILE *stream);
char *fgets(char *s, int size, FILE *stream);
как видим, по умолчанию они имеют прямое отношение к указателю типа файл.
А в случаи с gets() и puts(), в прототипе имеется только указатель на тип char:
C++
1
2
char *gets(char *s);
int puts(const char *s);
Yandex
Объявления
25.11.2012, 22:07     функции fgetc()/fputc
Ответ Создать тему
Опции темы

Текущее время: 12:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru