:orphan: # PetscViewerRead Reads data from a `PetscViewer` ## Synopsis ``` #include "petscviewer.h" PetscErrorCode PetscViewerRead(PetscViewer viewer, void *data, PetscInt num, PetscInt *count, PetscDataType dtype) ``` Collective ## Input Parameters - ***viewer -*** The viewer - ***data -*** Location to write the data, treated as an array of the type defined by `datatype` - ***num -*** Number of items of data to read - ***datatype -*** Type of data to read ## Output Parameter - ***count -*** number of items of data actually read, or `NULL` ## Notes If datatype is `PETSC_STRING` and `num` is negative, reads until a newline character is found, until a maximum of (-num - 1) chars. Only certain viewers, such as `PETSCVIEWERBINARY` can be read from, see `PetscViewerReadable()` ## See Also [](sec_viewers), `PetscViewer`, `PetscViewerASCIIOpen()`, `PetscViewerPushFormat()`, `PetscViewerDestroy()`, `PetscViewerReadable()`, `PetscViewerBinaryGetDescriptor()`, `PetscViewerBinaryGetInfoPointer()`, `PetscFileMode`, `PetscViewer` ## Level beginner ## Location src/sys/classes/viewer/interface/view.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/sys/classes/viewer/interface/view.c) [Index of all Viewer routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)