Sponsored Content
Full Discussion: How can I do that ?
Top Forums Programming How can I do that ? Post 302095934 by blowtorch on Sunday 12th of November 2006 07:23:55 PM
Old 11-12-2006
You have two questions:
1. can you copy given number of chars from one string to another - starting from a position chosen by you
2. can you compare two strings

Code:
#include<stdio.h>
#include<string.h>

int main() {

        char s[]="send !_30 <what I wanna send>";
        char s1[10];
        char s2[]="tesT";
        char s3[]="tesT";
        
        /* strncpy to copy strings */
        strncpy(s1,s+5,4);
        fprintf(stdout,"%s\n",s1);
        
        if(strcmp(s2,s3)==0) {
                fprintf(stdout,"strings are identical...\n");
        }
}

Note that you cannot specify directly to the function the starting position of the string. You have to use something like s+5 to move to the start position of the copy.
 
STRCPY(3)						     Linux Programmer's Manual							 STRCPY(3)

NAME
strcpy, strncpy - copy a string SYNOPSIS
#include <string.h> char *strcpy(char *dest, const char *src); char *strncpy(char *dest, const char *src, size_t n); DESCRIPTION
The strcpy() function copies the string pointed to by src (including the terminating `' character) to the array pointed to by dest. The strings may not overlap, and the destination string dest must be large enough to receive the copy. The strncpy() function is similar, except that not more than n bytes of src are copied. Thus, if there is no null byte among the first n bytes of src, the result will not be null-terminated. In the case where the length of src is less than that of n, the remainder of dest will be padded with nulls. RETURN VALUE
The strcpy() and strncpy() functions return a pointer to the destination string dest. BUGS
If the destination string of a strcpy() is not large enough (that is, if the programmer was stupid/lazy, and failed to check the size before copying) then anything might happen. Overflowing fixed length strings is a favourite cracker technique. CONFORMING TO
SVID 3, POSIX, BSD 4.3, ISO 9899 SEE ALSO
bcopy(3), memccpy(3), memcpy(3), memmove(3) GNU
1993-04-11 STRCPY(3)
All times are GMT -4. The time now is 04:32 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy