NAME
const_sget_line_2 - Reads a line from a string into a buffer
SYNOPSIS
#include "l/l_string.h"
Example compile flags (system dependent):
-DLINUX_X86_64 -DLINUX_X86_64_OPTERON -DGNU_COMPILER
-I/home/kobus/include
-L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
-lKJB -lfftw3 -lgsl -lgslcblas -ljpeg -lSVM -lstdc++ -lpthread -lSLATEC -lg2c -lacml -lacml_mv -lblas -lg2c -lncursesw
int const_sget_line_2
(
const char **str_ptr,
char *line,
size_t max_len,
size_t *num_chars_processed_ptr
);
PARAMETERS
-
const char **str_ptr
-
Address of string pointer.
Will be moved to next line.
-
char *line
-
Buffer for the line.
-
size_t max_len
-
Size of buffer.
-
size_t *num_chars_processed_ptr
-
Number of characters returned
DESCRIPTION
The routine const_sget_line_2() is similar to const_sget_line() except that
the number of characters is reliably returned in the fourth argument.
RETURNS
If there are no more characters to be read, then EOF is returned. If the
buffer is not large enough, SET_BUFFER_OVERFLOW_BUG() is called, and
TRUNCATED is returned. Otherwise NO_ERROR is returned.
NOTE
If the argument is not (const char**), then use sget_line_2() instead of
casting. Both sget_line() and const_sget_line() do the same thing.
Neither change the actual string being parsed, only the position pointer.
There are two versions to better communicate with various compilers.
NOTE
If the number of characters read is not required, then
num_chars_processed_ptr can be NULL, or, more elegantly, the routine
const_sget_line() can be used instead.
RELATED
sget_line, fget_line, dget_line
DISCLAIMER
This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.
AUTHOR
Kobus Barnard
DOCUMENTER
Kobus Barnard
SEE ALSO
signed_strlen
,
trim_beg
,
const_trim_beg
,
trim_end
,
trim_len
,
gen_trim_beg
,
const_gen_trim_beg
,
gen_trim_end
,
extended_uc_lc
,
extended_lc_uc
,
extended_n_uc_lc
,
extended_n_lc_uc
,
extended_tolower
,
extended_toupper
,
void_strcmp
,
kjb_strcmp
,
kjb_memcmp
,
kjb_strncmp
,
kjb_ic_strcmp
,
kjb_ic_strncmp
,
head_cmp
,
ic_head_cmp
,
ptr_strcmp
,
ptr_strncmp
,
ptr_ic_strcmp
,
ptr_head_cmp
,
ptr_ic_head_cmp
,
rpad
,
rpad_cpy
,
kjb_strdup
,
str_trunc_cpy
,
str_trunc_cat
,
trunc_quote_cpy
,
kjb_buff_cpy
,
kjb_strncpy
,
kjb_memcpy
,
extended_lc_strncpy
,
extended_uc_strncpy
,
kjb_buff_cat
,
kjb_strncat
,
cap_first_letter_cpy
,
str_build
,
str_n_build
,
str_char_build
,
byte_build
,
increment_byte_copy
,
fill_with_blanks
,
find_string
,
find_char
,
n_find_char
,
find_char_pair
,
count_char
,
word_in_phrase
,
char_for_char_translate
,
remove_duplicate_chars
,
str_delete
,
str_insert
,
sget_line
,
const_sget_line
,
sget_line_2
,
get_str_indent
,
last_char
,
kjb_reverse
,
output_str