Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материалы к эказмену_1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.34 Mб
Скачать

Некоторые функции, необходимые для работы с файлами

  1. fopen()

Файл открывается посредством обращения к функции fopen():

pf = fopen ( name, mode );

здесь name - указатель на строку с именем файла, mode - строка, указывающая режим работы с файлом. fopen() возвращает поток или NULL, если попытка открыть файл оказалась неудачной.

Возможны следующие режимы работы с текстовыми файлами:

"r"

чтение;

"w"

файл создается для записи, старое содержимое (если оно было)

уничтожается;

"a"

файл открывается или создается для записи в конец файла;

"r+"

исправление файла, то есть чтение и запись;

"w+"

файл создается для исправления; старое содержимое уничтожается;

"a+"

файл открывается или создается для исправления и добавления

в конец файла.

Если указатель режима дополнить буквой b, например, "rb" или "r+b", то файл считается бинарным.

  1. gets ( )

Функция получает строку символов из потока.

Синтаксис: char *gets(char *s); файл, содержащий прототип функции - stdio.h

/* gets example */

#include <stdio.h>

void main(void)

{

char string[80];

printf("Input a string:");

gets(string);

printf("The string input was: %s\n", string);

}

Результат работы:

Input a string: ADAM5510

The string input was: ADAM5510

3. strcat( )

Функция добавляет копию одной строки к другой

Синтаксис: char *strcat(char *dest, char *src);

Файл, содержащий прототип: string.h

Возвращаемое значение: указатель на соединенные строки

Пример:

#include <string.h>

#include <stdio.h>

void main(void)

{

char destination[25];

char *blank = " ", *c = "C++", *turbo = "Turbo";

strcat(destination, turbo);

strcat(destination,blank);

strcat(destination,c);

printf("%s\n",destination);

}

Результат работы:

Turbo С++

4. fputc ( )

Функция вывода символа в поток, прототип содержится в файле stdio.h.

Синтаксис: int fputc(int c, FILE * stream);

Описание: Функция fputc() выводит символ с в поток stream.

Возвращаемое значение в случае успеха - символ с, в случае ошибки – возвращается EOF (end of file).

Пример:

#include <stdio.h>

int main(void)

{

char msg[] = "Hello world\n";

int i=0;

while(msg[ i ])

{

fputc(msg[ i ],stdout);

i++;

}

return 0;

}

Результат: Hello world

5. itoa( )

Функция преобразует целое значение в строку символов.

Синтаксис: char *itoa(int value, char * string, int radix);

файл, содержащий прототип функции - stdlib.h

#include <stdio.h>

#include <stdlib.h>

int main(void)

{

int number = 12345;

char string[25];

itoa(number,string,10);

printf("Целое число: %d, строка: %s\n",number,string);

return 0;

}

Результат:

Целое число: 12345, строка: 12345

Разработка программного модуля считывания /хранения/записи данных для контроллера adam5510m (Задача 1)

Постановка задачи. Организовать прием аналоговых данных, представляющих собой значения выходного напряжения, поступающего с термодатчика типа ТСП с периодом 1 раз в с и дискретных данных, источником которых является кнопка без фиксации, подключенная к контакту №0 модуля 5050 контроллера ADAM5510M, установленного в слоте №1.

Д атчик подключен к контакту №0 модуля аналогового ввода ADAM5017, установленного в слот №3 (начиная с 0).

При отпущенной кнопке сигнал на ее выходе равен логической единице, при нажатии – логическому нулю.

Запрограммировать работу индикаторов (светодиодов) микроконтроллера.

Осуществить запись этих значений в файл с именем, указанным пользователем и хранящемся во flash-памяти (эмулятор HDD) контроллера ADAM5510M.

где «номер измерения» и «измеренное значение» разделены символом «пробел».

Программа просит пользователя ввести имя конечного файла, в котором будут храниться данные, считанные либо с аналогового датчика температуры ТСП–Н, либо цифровые данные, принятые от кнопки без фиксации.

Код модуля см. файл Задача_1.срр