Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

При помощи fgets

Читайте также:
  1. Б. Профилактика онанизма при помощи социального воспитания.
  2. Больница скорой мед.помощи.: структура,организац.работы,основн.задачи.
  3. Бригады специализированной медицинской помощи (БСМП). Предназначение, база создания.
  4. Бригады специализированной медицинской помощи.
  5. В современной системе этапного лечения с эвакуацией по назначению предусматривается оказание следующих видов медицинской помощи.
  6. Виды и объем медицинской помощи.
  7. Виды медицинской помощи

Функция fgets применяется для чтения строки из потока. Считывание происходит до тех пор пока не будет достигнут конец строки (hex:0D0A, эквивалентны в листингах \n) или длина строки, в которую происходит считывание. Предположим, у нас есть файл some_file.txt с текстом

палиндромы А в Енисее - синева. А лама мала. А лис, он умен - крыса сыр к нему носила. (И. Бабицкий)#include <stdio.h>#include <string.h> int main (int argc, char* argv[]) /* argc хранит количество параметров, а argv[] указатели на эти параметры. Например, если мы запустим исполняемый файл "fgets_example param1 param2", то argc будет равно 3, а argv[] = {"fgets_example", "param1", "param2"}*/{ FILE *file; char *fname = "some_file.txt"; char result_sting[20]; //Строка в 20 символов file = fopen(fname,"r"); if(file == 0) { printf("не могу открыть файл '%s'",fname); return 0; } int i=0; char *real_tail; while(fgets(result_sting,sizeof(result_sting),file)) { real_tail=""; printf("Строка %d:Длина строки - %d:",i++,strlen(result_sting)); if(result_sting[strlen(result_sting)-1] == '\n')//проверяем является ли последний элемент в строке символом ее окончания { real_tail="\\n"; result_sting[strlen(result_sting)-1]='\0'; };// эта часть кода добавлена лишь для отображения символа конца строки в консоль без перевода на новую строку printf("%s%s\n",result_sting,real_tail); } fclose(file); return 0;}

24 форматированный ввод –вывод

Функции форматированного ввода и вывода в си


Функции форматированного ввода и вывода описаны в библиотеке stdio.h:

scanf – функция форматированного ввода;
printf
– функция форматированного вывода

Функция scanf имеет следующий заголовок:
int scanf(const char * restrict format [,addresses,…]);
Пример ввода двух переменных переменные целого типа и переменной вещественного типа:

int a,b;
double x;

scanf("%d %d %lf”,&a,&b,&x);

Спецификатор типа

Сочетание %d или любое другое называется спецификатором типа. В общем случае он имеет следующий формат:
% [*] [WIDTH] [hh|h|l|ll|L]
символ_типа
*
– указывает запрещенные для ввода символы.
WIDTH
– задает максимальную длину поля ввода.


Преобразователи типа:
hh - преобразование целочисленных типов к типам char или unsigned char.
h - преобразование целочисленных типов к типам short int или unsigned short int.
l - преобразование к типу long int всех целочисленных типов и к типу double всех вещественных типов.
ll - преобразование целочисленных типов к типам long long int или unsigned long long int.
L - преобразование к типу long double всех вещественных типов.

Спецификаторы типа:
d, i – знаковое целое число в десятичной системе
o – знаковое целое число в восьмеричной системе
X, x – знаковое целое число в шестнадцатеричной системе
u – незнаковое целое число в десятичной системе исчисления
f, e и g – вещественное число в десятичной системе исчисления
a - вещественное число в шестнадцатеричной системе исчисления
c – символ
s – строка в СИ
p – указатель
% - ввод символа ‘%’

Функция printf имеет следующий заголовок:

int printf(const char * restrict format [,variables,…]);

Пример вывода двух переменных целого типа и переменной вещественного типа:

int a,b;
double x;

printf("%d %d %5.2lf”,a,b,x);


Дата добавления: 2015-12-08; просмотров: 48 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.006 сек.)