Doing some training code with arrays i run into the following issue: If i ask the user how long the array is supposed to be, malloc it and then ask for the values inside the array and return the list to main and assing it to a pointer to list of integers:
i lost all ways to find out how much elements that list has, right?
And the other way around: If i have a list of integers and add it as an argument to a fucntion:
print_list(v)
there is no way to find out how long the list is inside the function called print_list() ?
If both is true, would using a global variable for the length be a good solution?
Last edited by tornow; 05-17-2013 at 09:08 PM..
Reason: error with malloc
How can change udp lenght?
Hello.
I have FreeBsd 4.7 and i want to change udp datagramm lenght.
Where it can be? What i must do? I can rebuild my core but it is not good for me.
Thanks! (4 Replies)
Hi All,
I have a pipe separated flat file.But there is often some problem with the records.So is it possible to convert the '|' separated file into a fixed length file by means of some script.
The file has 11 columns which means 10 pipes.Your help is appreciated.
i'm using Sun OS Version... (2 Replies)
I am facing a strange error while creating posix threads:
Given below are two snippets of code, the first one works whereas the second one gives a garbage value in the output.
Snippet 1
This works:
--------------
int *threadids;
threadids = (int *) malloc (num_threads * sizeof(int));
... (4 Replies)
I'm not familiar with find.
If i use find in a certain directory i want it to show based on hierarchy.
find . type d
fol1
fol1/subfol1
fol1/subfol1/subfol1
fol2
fol2/subfol2
i want it to show like this
fol1/subfol1/subfol1
fol1/subfol1
fol1
fol2/subfol2
fol2
do i need to use... (5 Replies)
Hi
I want to know the maximum length of user name under NIS? I tried googling but it didnt help :(. If there is any command to find out this please let me know. I know on unix user name should be 8 characters long but just i want to know if i can have 9 letter user under mapped under NIS. (1 Reply)
Using the KSH, write a shell script called display_by_length, which takes an absolute pathname to a directory and displays all ordinary files in the directory ordered by their length; for each file listed, display the name of the file and its length - nothing else. Extend this script to take an... (1 Reply)
I made menu script for users so they can run other script without going in shell just from menu.
But i must control their input.
These are criteria:
Input must have 4 signs
First two signs are always lower case letters
Input shall not have some special signs just letters and numbers
... (1 Reply)
actually i am trying to find the lenght of fixed width file record reading from teradata db but its not working can u guys help me out?
code which i wrote---
colmn_lngth=`cat $RPT_FILE | awk -F~ '{print $1}'`
rm $RPT_FILE
while read line
do
result=`echo $line | wc -m`
... (4 Replies)
Trying to do some control flow parsing based on the index postion of an array member. Here is the pseudo code I am trying to write in (preferably in pure bash) where possible. I am thinking regex with do the trick, but need a little help.
pesudo code
if == ENDSINFIVEINTS ]]; then
do... (4 Replies)
Discussion started by: briandanielz
4 Replies
LEARN ABOUT LINUX
setbuffer
SETBUF(3) Linux Programmer's Manual SETBUF(3)NAME
setbuf, setbuffer, setlinebuf, setvbuf - stream buffering operations
SYNOPSIS
#include <stdio.h>
void setbuf(FILE *stream, char *buf);
void setbuffer(FILE *stream, char *buf, size_t size);
void setlinebuf(FILE *stream);
int setvbuf(FILE *stream, char *buf, int mode, size_t size);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
setbuffer(), setlinebuf(): _BSD_SOURCE
DESCRIPTION
The three types of buffering available are unbuffered, block buffered, and line buffered. When an output stream is unbuffered, information
appears on the destination file or terminal as soon as written; when it is block buffered many characters are saved up and written as a
block; when it is line buffered characters are saved up until a newline is output or input is read from any stream attached to a terminal
device (typically stdin). The function fflush(3) may be used to force the block out early. (See fclose(3).) Normally all files are block
buffered. When the first I/O operation occurs on a file, malloc(3) is called, and a buffer is obtained. If a stream refers to a terminal
(as stdout normally does) it is line buffered. The standard error stream stderr is always unbuffered by default.
The setvbuf() function may be used on any open stream to change its buffer. The mode argument must be one of the following three macros:
_IONBF unbuffered
_IOLBF line buffered
_IOFBF fully buffered
Except for unbuffered files, the buf argument should point to a buffer at least size bytes long; this buffer will be used instead of the
current buffer. If the argument buf is NULL, only the mode is affected; a new buffer will be allocated on the next read or write opera-
tion. The setvbuf() function may only be used after opening a stream and before any other operations have been performed on it.
The other three calls are, in effect, simply aliases for calls to setvbuf(). The setbuf() function is exactly equivalent to the call
setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);
The setbuffer() function is the same, except that the size of the buffer is up to the caller, rather than being determined by the default
BUFSIZ. The setlinebuf() function is exactly equivalent to the call:
setvbuf(stream, (char *) NULL, _IOLBF, 0);
RETURN VALUE
The function setvbuf() returns 0 on success. It returns nonzero on failure (mode is invalid or the request cannot be honored). It may set
errno on failure.
The other functions do not return a value.
CONFORMING TO
The setbuf() and setvbuf() functions conform to C89 and C99.
BUGS
The setbuffer() and setlinebuf() functions are not portable to versions of BSD before 4.2BSD, and are available under Linux since libc
4.5.21. On 4.2BSD and 4.3BSD systems, setbuf() always uses a suboptimal buffer size and should be avoided.
You must make sure that the space that buf points to still exists by the time stream is closed, which also happens at program termination.
For example, the following is invalid:
#include <stdio.h>
int
main(void)
{
char buf[BUFSIZ];
setbuf(stdin, buf);
printf("Hello, world!
");
return 0;
}
SEE ALSO fclose(3), fflush(3), fopen(3), fread(3), malloc(3), printf(3), puts(3)COLOPHON
This page is part of release 3.27 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2008-06-26 SETBUF(3)