Sponsored Content
Top Forums Programming Interesting Problem About Incrementing ++ Post 302248823 by MrC on Sunday 19th of October 2008 11:00:41 PM
Old 10-20-2008
A character array is never empty. It is a contiguous array of memory cells, each of which contains some value. You are using a character array to represent strings; as such, you must manage the terminating NULL byte '\0'.

[ xxx deleted backwards description xxx ]

It is not useful to attempt to diagnose other errors you see when there are likely out of bounds array copies occurring, as the stack becomes trashed.

Never use any function that copies memory from one location to another which is of unknown length, or copy a know length to an offset that would make the copy exceed the bounds of the variable or data structure. Use strncat() or strncpy() to ensure the copy never exceeds the variable's bounds.

Last edited by MrC; 10-21-2008 at 09:13 PM..
MrC
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

An interesting problem

hi!, here is an interesting problem ..... I ftp a file named " my first file.doc" from windows to my HP workstation. Ftp is succesful. The file appears with the same name in my home directory.. But now how do I open this file?? while using Vi or More or other editor, they take only the... (5 Replies)
Discussion started by: jyotipg
5 Replies

2. UNIX for Advanced & Expert Users

interesting problem

After a server reboot for regular mainatanance we face the following situation: 1/ user accounts with ksh can't start the korn shell 2/ korn shell scripts do work however, if executed from bash 3/ normal users with bash can't run ksh 4/ root can run ksh 5/ if I switch the default shell to... (3 Replies)
Discussion started by: rein
3 Replies

3. SCO

I have an interesting problem and need advice

We have an inhouse built application which handles our AR function. We'd like to email statements out of the application directly. My question is this is there a good, solid, command line driven, scriptable Mail Transport Agent that would allow us to send a semi unique email (with a statement and... (1 Reply)
Discussion started by: Maldain
1 Replies

4. Shell Programming and Scripting

Interesting problem

Hello, So I'm utilizing the bash brace expansion feature to checkout multiple folders from cvs with ease, while excluding certain subfolders within. So I do a command like this: cvs co trunk/{mod_a,mod_b,mod_c} \!trunk/{mod_a,mod_b,mod_c}/web to checkout modules trunk/mod_a , trunk/mod_b ,... (1 Reply)
Discussion started by: neked
1 Replies

5. Shell Programming and Scripting

interesting problem

Hi, I am new in this forum and I am glad to be a part of it. I have a problem that has two parts: 1/ extract just the timestamp from a filename: for example, I have a file called 'sales20080226144525.txt' and I want to extract just the '20080226144525' part out of it. 2/ Now, take that... (5 Replies)
Discussion started by: ChicagoBlues
5 Replies

6. Solaris

Very Interesting Problem

Ok Lets say i have a webpage on a solaris box. and i am trying to make a hyperlink. This hyperlink references a Microsoft Access file on a Windows box. So, How do i make a file reference from The unix box to a windows box. Things to keep in mind -- 1.) Solaris doesnt need to... (6 Replies)
Discussion started by: Demon002
6 Replies

7. Shell Programming and Scripting

Facing problem in incrementing the variable

When I did, echo $SHELL in cmd prompt of putty, its displaying /bin/sh And in my shell script., I hav started with., #!/bin/sh and i=1; while ; do . . . i=$; (9 Replies)
Discussion started by: av_vinay
9 Replies

8. Shell Programming and Scripting

AWK SCRIPT HELP : INCREMENTING PROBLEM

Hi Guys , I am having one command file like this FILE1 ################################ awk '/output/ {a=$2} {for(i=1;i<=NF;i++) { gsub("i1", i) ; gsub("i2",++i) ; gsub("P1", p) }}1' output >> out9 awk '/output/ {a=$2} {for(i=1;i<=NF;i++) { gsub("i1", i) ;... (2 Replies)
Discussion started by: jaita
2 Replies

9. Solaris

Interesting Disk Error Problem

Hi Folks, Have an interesting problem here, have just upgraded some machines (Test and Development) to the latest and greatest as in. SunOS ss063a 5.10 Generic_147440-13 sun4u sparc SUNW,Sun-Fire-V440 However on all the systems we are seeing the same problems, during the boot there is a... (3 Replies)
Discussion started by: gull04
3 Replies

10. Shell Programming and Scripting

Interesting awk problem

Hello; I wish to manipulate the output from the following: ps axo %mem,pid,euser,cmd|sort -nr 14.4 3170 root /usr/sbin/snmpd -Lsd -Lf /dev/null -p /var/run/snmpd.pid -a 3.6 3635 root splunkd -p 8089 start 2.6 3383 root /usr/sbin/httpd 2.1 15496 apache /usr/sbin/httpd ... (5 Replies)
Discussion started by: delphys
5 Replies
strncat(3)						     Library Functions Manual							strncat(3)

NAME
strncat, strncmp, strncpy - Perform operations on string LIBRARY
Standard C Library (libc.so, libc.a) SYNOPSIS
#include <string.h> char *strncat( char *s1, const char *s2, size_t n); int strncmp( const char *s1, const char *s2, size_t n); char *strncpy( char *s1, const char *s2, size_t n); STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: strncat(), strncmp(), strncpy(): XSH4.2 Refer to the standards(5) reference page for more information about industry standards and associated tags. PARAMETERS
Points to a location containing the first string or array. Points to a location containing the second array. Specifies the number of bytes. In strncat(), n specifies the maximum number of bytes to append; in strncmp(), n specifies the maximum number of bytes to compare; and in strncpy(), n specifies the number of bytes to copy. DESCRIPTION
The strncat() function appends no more than n bytes from the array pointed to by the s2 parameter to the end of the array pointed to by the s1 parameter. The initial byte of the array pointed to by s2 overwrites the null byte at the end of a string pointed to by s1. It then appends a null byte to the result, and returns s1. When operating on overlapping objects, the behavior of this function is unreliable. The strncmp() function compares the string or array pointed to by the s1 parameter to the array pointed to by the s2 parameter. The sign of a nonzero value returned by strcmp() is determined by the sign of the difference between the values of the first pair of bytes (both interpreted as unsigned char) that differ in the two compared objects. The strncmp() functions compares bytes until it has compared n bytes or until it reaches a terminating null byte. The strncmp() function compares objects based on the machine collating order. It does not use the locale-dependent sorting order. Use the strcoll() or wcscoll() functions for locale-dependent sorting. The strncpy() function copies no more than n bytes from the array pointed to by the s2 parameter to the array pointed to by the s1 parame- ter. Bytes following a null byte are not copied. When operating on overlapping locations, the behavior of this function is unreliable. When the location pointed to by the s2 parameter is an array that is shorter than n bytes, null bytes are appended to the s1 value until n bytes in all are written. RETURN VALUES
Upon successful completion, the strncat() and strncpy() functions return a pointer to the resulting string or array. [Tru64 UNIX] Other- wise, these functions return a null pointer. Upon successful completion, the strncmp() function returns an integer whose value is greater than, equal to, or less than 0 (zero), accord- ing to whether the value of the s1 object is greater than, equal to, or less than the value of the s2 object. [Tru64 UNIX] When a success- ful comparison cannot be made, strncmp() returns a value of 0 (zero). RELATED INFORMATION
Functions: string(3), strcasecmp(3), strcat(3), strcmp(3), strcoll(3), strcpy(3), wcscoll(3), wcsncat(3), wcsncmp(3), wcsncpy(3) Standards: standards(5) delim off strncat(3)
All times are GMT -4. The time now is 08:20 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy