---
name: "optionSaveFile"
section: "3"
platform: "linux"
package: "autogen"
version: "5.18.16-6"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/optionSaveFile"
---

# optionSaveFile(3)

saves the option state to a file

## NAME

optionSaveFile - saves the option state to a file

## SYNOPSIS

\#include \<*your-opts.h*\>\
 cc \[...\] -o outfile infile.c -l**opts** \[...\]

void **optionSaveFile**(tOptions \* *opts*);

## DESCRIPTION

This routine will save the state of option processing to a file.  The name of that file can be specified with the argument to the **--save-opts** option, or by appending the **rcfile** attribute to the last **homerc** attribute.  If no **rcfile** attribute was specified, it will default to **.***programname***rc***.  If you wish to specify another* *file, you should invoke the* **SET\_OPT\_SAVE\_OPTS(***filename***)** *macro.*

*The recommend usage is as follows:*

```
    optionProcess(&progOptions, argc, argv);
    if (i_want_a_non_standard_place_for_this)
    SET_OPT_SAVE_OPTS("myfilename");
    optionSaveFile(&progOptions);
```

- *opts*

  *program options descriptor*

## ERRORS

*If no* **homerc** *file was specified, this routine will silently return* *and do nothing.  If the output file cannot be created or updated, a message* *will be printed to* **stderr** *and the routine will return.*

## SEE ALSO

*The info documentation for the -lopts library.*\
 *[ao\_string\_tokenize(3)](/ao_string_tokenize/3.md), [configFileLoad(3)](/configFileLoad/3.md), [optionFileLoad(3)](/optionFileLoad/3.md), [optionFindNextValue(3)](/optionFindNextValue/3.md), [optionFindValue(3)](/optionFindValue/3.md), [optionFree(3)](/optionFree/3.md), [optionGetValue(3)](/optionGetValue/3.md), [optionLoadLine(3)](/optionLoadLine/3.md), [optionMemberList(3)](/optionMemberList/3.md), [optionNextValue(3)](/optionNextValue/3.md), [optionOnlyUsage(3)](/optionOnlyUsage/3.md), [optionPrintVersion(3)](/optionPrintVersion/3.md), [optionPrintVersionAndReturn(3)](/optionPrintVersionAndReturn/3.md), [optionProcess(3)](/optionProcess/3.md), [optionRestore(3)](/optionRestore/3.md), [optionSaveState(3)](/optionSaveState/3.md), [optionUnloadNested(3)](/optionUnloadNested/3.md), [optionVersion(3)](/optionVersion/3.md), [strequate(3)](/strequate/3.md), [streqvcmp(3)](/streqvcmp/3.md), [streqvmap(3)](/streqvmap/3.md), [strneqvcmp(3)](/strneqvcmp/3.md), [strtransform(3)](/strtransform/3.md),*
