fwrite_stringT_fwrite_stringFwriteStringFwriteStringfwrite_string (Operator)
Name
fwrite_stringT_fwrite_stringFwriteStringFwriteStringfwrite_string
— Write strings and numbers into a text file.
Signature
def fwrite_string(file_handle: HHandle, string: MaybeSequence[Union[int, float, str]]) -> None
Description
The operator fwrite_stringfwrite_stringFwriteStringFwriteStringFwriteStringfwrite_string
writes one or more strings or numbers
to the output file defined by the handle FileHandleFileHandleFileHandleFileHandlefileHandlefile_handle
.
The output file must have been opened with open_fileopen_fileOpenFileOpenFileOpenFileopen_file
in text format.
Strings and numbers that are to be written into the file are passed via the
input parameter StringStringStringStringstringValstring
to the operator fwrite_stringfwrite_stringFwriteStringFwriteStringFwriteStringfwrite_string
.
The parameter StringStringStringStringstringValstring
accepts also tuples where strings
and numbers are mixed.
All elements of the tuple are written consecutively into the file without
blanks or other separators in between.
Numbers are converted into a string before they are written.
The operator fwrite_stringfwrite_stringFwriteStringFwriteStringFwriteStringfwrite_string
emits a low-level error message, when the
string cannot be transcoded without loss of information into the specified
file encoding.
This can only happen when the file encoding is
'locale_encoding'"locale_encoding""locale_encoding""locale_encoding""locale_encoding""locale_encoding" and the current encoding of the HALCON library is
'utf8'"utf8""utf8""utf8""utf8""utf8" (see set_system(::'filename_encoding','utf8':)set_system("filename_encoding","utf8")SetSystem("filename_encoding","utf8")SetSystem("filename_encoding","utf8")SetSystem("filename_encoding","utf8")set_system("filename_encoding","utf8")
).
The call set_system(::'flush_file', <boolean-value>:)set_system("flush_file", <boolean-value>)SetSystem("flush_file", <boolean-value>)SetSystem("flush_file", <boolean-value>)SetSystem("flush_file", <boolean-value>)set_system("flush_file", <boolean-value>)
determines whether the output characters are immediately written to the file
or not.
If the value 'flush_file'"flush_file""flush_file""flush_file""flush_file""flush_file" is set to 'false'"false""false""false""false""false", the characters
(especially in case of screen output) show up only after the operator
fnew_linefnew_lineFnewLineFnewLineFnewLinefnew_line
is called.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
FileHandleFileHandleFileHandleFileHandlefileHandlefile_handle
(input_control) file →
HFile, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
File handle.
StringStringStringStringstringValstring
(input_control) string(-array) →
HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)
Values to be written into the file.
Default:
'hallo'
"hallo"
"hallo"
"hallo"
"hallo"
"hallo"
Example (HDevelop)
fwrite_string(FileHandle,['text with numbers:',5,' and ',1.0])
* results in the following output:
* 'text with numbers:5 and 1.00000'
Example (C)
fwrite_string(FileHandle,"text with numbers: ");
fwrite_string(FileHandle,"5");
fwrite_string(FileHandle," and ");
fwrite_string(FileHandle,"1.0");
/* results in the following output: */
/* 'text with numbers: 5 and 1.00000' */
/* Tupel Version */
int i;
double d;
Htuple Tuple;
create_tuple(&Tuple,4);
i = 5;
d = 10.0;
set_s(Tuple,"text with numbers: ",0);
set_i(Tuple,i,1);
set_s(Tuple," and ",2);
set_d(Tuple,d,3);
T_fwrite_string(FileHandle,HilfsTuple);
Example (HDevelop)
fwrite_string(FileHandle,['text with numbers:',5,' and ',1.0])
* results in the following output:
* 'text with numbers:5 and 1.00000'
Example (HDevelop)
fwrite_string(FileHandle,['text with numbers:',5,' and ',1.0])
* results in the following output:
* 'text with numbers:5 and 1.00000'
Example (HDevelop)
fwrite_string(FileHandle,['text with numbers:',5,' and ',1.0])
* results in the following output:
* 'text with numbers:5 and 1.00000'
Result
If the writing procedure was carried out
successfully, the operator fwrite_stringfwrite_stringFwriteStringFwriteStringFwriteStringfwrite_string
returns the value 2 (
H_MSG_TRUE)
. Otherwise, an exception is raised.
Encoding errors have no influence on the result state.
Possible Predecessors
open_fileopen_fileOpenFileOpenFileOpenFileopen_file
Possible Successors
close_fileclose_fileCloseFileCloseFileCloseFileclose_file
Alternatives
write_stringwrite_stringWriteStringWriteStringWriteStringwrite_string
See also
open_fileopen_fileOpenFileOpenFileOpenFileopen_file
,
close_fileclose_fileCloseFileCloseFileCloseFileclose_file
,
set_systemset_systemSetSystemSetSystemSetSystemset_system
Module
Foundation