:orphan: # PetscOptionsString Gets the string value for a particular option in the database. ## Synopsis ``` #include "petscsys.h" PetscErrorCode PetscOptionsString(const char opt[],const char text[],const char man[],const char currentvalue[],char value[],size_t len,PetscBool *set) ``` Logically Collective on the communicator passed in `PetscOptionsBegin()` ## Input Parameters - ***opt -*** option name - ***text -*** short string that describes the option - ***man -*** manual page with additional information on option - ***currentvalue -*** the current value; caller is responsible for setting this value correctly. This is not used to set value - ***len -*** length of the result string including null terminator ## Output Parameters - ***value -*** the value to return - ***flg -*** `PETSC_TRUE` if found, else `PETSC_FALSE` ## Notes Must be between a `PetscOptionsBegin()` and a `PetscOptionsEnd()` If the user provided no string (for example `-optionname` `-someotheroption`) `flg` is set to `PETSC_TRUE` (and the string is filled with nulls). If the user does not supply the option at all `value` is NOT changed. Thus you should ALWAYS initialize `value` if you access it without first checking if `flg` is `PETSC_TRUE`. The `currentvalue` passed into this routine does not get transferred to the output `value` variable automatically. ## See Also `PetscOptionsGetReal()`, `PetscOptionsHasName()`, `PetscOptionsGetString()`, `PetscOptionsGetInt()`, `PetscOptionsGetIntArray()`, `PetscOptionsGetRealArray()`, `PetscOptionsGetBool()`, `PetscOptionsInt()`, `PetscOptionsReal()`, `PetscOptionsBool()`, `PetscOptionsName()`, `PetscOptionsBegin()`, `PetscOptionsEnd()`, `PetscOptionsHeadBegin()`, `PetscOptionsStringArray()`, `PetscOptionsRealArray()`, `PetscOptionsScalar()`, `PetscOptionsBoolGroupBegin()`, `PetscOptionsBoolGroup()`, `PetscOptionsBoolGroupEnd()`, `PetscOptionsFList()`, `PetscOptionsEList()` ## Level beginner ## Location src/sys/objects/aoptions.c ## Examples src/dm/impls/forest/tutorials/ex1.c
src/dm/impls/plex/tutorials/ex5.c
src/dm/label/tutorials/ex1.c
src/ksp/ksp/tutorials/ex10.c
src/ksp/ksp/tutorials/ex35.cxx
src/ksp/ksp/tutorials/ex36.cxx
src/snes/tutorials/ex15.c
src/snes/tutorials/ex48.c
src/tao/tutorials/ex3.c
src/ts/tutorials/ex10.c
src/ts/tutorials/ex11.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/sys/objects/aoptions.c) [Index of all Sys routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)