int putvec(DB_Sample *vector)
Return:
This function writes a sample to each input signal. The caller should
fill an array of DB_Samples with the samples and pass a pointer to this
array to putvec. (The length of the array must be no less than
the number of output signals, as given to osigfopen or
osigopen; this number must never exceed DB_MAXSIG, defined in
`<ecg/db.h>'.) On entry, vector[i] contains the next sample
from signal i. For example, this modified version of the previous
example
(see section getvec)
copies the first ten samples of each available input signal:
#include <ecg/db.h>
main()
{
int i, nsig;
DB_Sample v[DB_MAXSIG];
static DB_Siginfo s[DB_MAXSIG];
if ((nsig = isigopen("100s", s, DB_MAXSIG)) < 1 ||
osigopen("8l", s, nsig) < 1)
exit(1);
for (i = 0; i < 10; i++)
if (getvec(v) < 0 || putvec(v) < 0)
break;
dbquit();
exit(0);
}
All programs that write signals or annotations must invoke
dbquit to close the output files properly
(see section dbquit).
This example uses record `8l' (see section Piped and Local Records) for
the output signal specifications; the output signal files will be named
`data0' and `data1' in the current directory. The array of
DB_Siginfo structures is declared static, a practice that is
recommended for all arrays and data structures of any substantial size,
to avoid run-time stack overflow. Several of the example programs in
chapter 6 illustrate the use of putvec; for example,
see section Example 6: A Differentiator.
Go to the first, previous, next, last section, table of contents.