NAME
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 sget_line_2
(
char **str_ptr,
char *line,
size_t max_len,
size_t *num_chars_processed_ptr
);
PARAMETERS
-
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 sget_line_2() is similar to 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 (const char**), then use const_sget_line_2() instead of
casting. Both sget_line_2() and const_sget_line_2() 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
sget_line() can be used.
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
,
const_sget_line_2
,
get_str_indent
,
last_char
,
kjb_reverse
,
output_str