Sponsored Content
Full Discussion: Unclear pointer and array
Top Forums Programming Unclear pointer and array Post 302884188 by Don Cragun on Saturday 18th of January 2014 08:14:10 AM
Old 01-18-2014
Try this instead:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define IOBufLen        100

char *substring(size_t start, size_t stop, const char *src, char *dst, size_t size)
{
    unsigned int count = stop - start;
    if (count >= --size) {
        count = size;
    }
    sprintf(dst, "%.*s", count, src + start);
    return dst;
}

int main(int argc, char **argv)
{
    char *text=(char*)malloc(IOBufLen);  //Line 40, change to text[100] will work
    char *a=(char*)malloc(IOBufLen);   //Line 41, change to a[100] will work
    int start, end;

    if (argc != 4) {
        printf("Error! Usage:\n\t \
argv[0]=program;\n\t \
argv[1]=input string\n\t \
argv[2]=start_position of string\n\t \
argv[3]=end_postion of string\n");

        return 1;
    }

    strncpy(text, argv[1], IOBufLen - 1); // -1 to be sure text is null terminated.
    start = atoi(argv[2]);
    end = atoi(argv[3]);

    printf("substring = \"%s\"\n", substring(start, end, text, a, IOBufLen));

    return 0;
}

Do you see why these changes make it work?
This User Gave Thanks to Don Cragun For This Post:
 

9 More Discussions You Might Find Interesting

1. Programming

pointer

void main() { int a={1,2,3,4,5,6,7,8,9,10}; int *p=a; int *q=&a; cout<<q-p+1<<endl; } The output is 10, how? if we give cout<<q it will print the address, value won't print.... if we give cout<<p it will print the address, value won't print.... p has the base addr; q... (1 Reply)
Discussion started by: sarwan
1 Replies

2. UNIX for Dummies Questions & Answers

Storing pointer array in C

All .. I am having a pointer array . And trying to store the addess into that pointer array . please see below the problem i faced code: int cnt1; char *t_array; char *f_array; for(cnt1=0; cnt1<1000; cnt1++) { t_array =... (1 Reply)
Discussion started by: arunkumar_mca
1 Replies

3. Programming

pass a pointer-to-pointer, or return a pointer?

If one wants to get a start address of a array or a string or a block of memory via a function, there are at least two methods to achieve it: (1) one is to pass a pointer-to-pointer parameter, like: int my_malloc(int size, char **pmem) { *pmem=(char *)malloc(size); if(*pmem==NULL)... (11 Replies)
Discussion started by: aaronwong
11 Replies

4. Programming

C pointer/array duality confusion

Hi all, Can anyone provide help with getting the right syntax regarding array/pointers in C in the following code? Can't locate a specific example which clarifies this... Say I declare a typedef to an array of pointers to some type... /** * An array of ptrs to sections */ typedef... (4 Replies)
Discussion started by: gorga
4 Replies

5. Programming

help with char pointer array in C

i have an array like #define NUM 8 .... new_socket_fd = accept(socket_fd, (struct sockaddr *) &cli_addr, &client_length); char *items = {"one", "two", "three", "four", "five", "six", "seven", "eight"}; char *item_name_length = {"3", "3", "5", "4", "4", "3", "5", "5"}; ... (1 Reply)
Discussion started by: omega666
1 Replies

6. Programming

structure pointer array as function parameters

if i create an array of pointers to a structure "struct node" as: struct node *r; and create "n" number of "linked lists" and assign it to the various struct pointers r using some function with a return type as structure pointer as: r=multiplty(.......) /*some parameters*/ is... (2 Replies)
Discussion started by: mscoder
2 Replies

7. Shell Programming and Scripting

best practises for scripting + a few unclear points

Hi guys, Besides the points bellow, what would best practices for scripting be ? 1) set the PATH 2) unset the current environment (set -u ?) 3) (re)set the IFS to default value - space (IFS="" <- is this correct ?) 4) check the return code for each action inside the script (cd, rsync,... (1 Reply)
Discussion started by: da1
1 Replies

8. Programming

Character pointer to Character array

how to copy content of character pointer to character array in c programming.. char *num; char name=num; (1 Reply)
Discussion started by: zinat
1 Replies

9. Programming

Pointer for 2D array seems to be 3D in C

I am struggling with the pointer to 2D-array (cf: 2D array of pointers). Can anybody help me elaborate how the pointer x moves in the memory to access the individual of y, especially the high lighted lines? I have talked to one of the curators of the forum, but I am still not quite clear. Here... (1 Reply)
Discussion started by: yifangt
1 Replies
WMANAGER(1)						    BSD General Commands Manual 					       WMANAGER(1)

NAME
wmanager -- choose a window manager and launch it SYNOPSIS
wmanager [OPTIONS ...] DESCRIPTION
The wmanager program displays a choice of the window managers listed in the ~/.wmanagerrc file. When one is picked, the related command is written to standard output, intended to be used by shell scripts. If the program is exited without choosing a window manager, ``-1'' is written to standard output. -fg COLOR Set the foreground color. -bg COLOR Set the background color. -bg2 COLOR Set the widget background color -di[splay] host:n.n Set the X display. -dn[d], -nod[nd] Enable/disable drag & drop, probably does nothing. -g[eometry] WxH+X+Y Set the window size and location. -i[conic] Start as iconified. -k[bd], -nok[bd] Enable/disable keyboard support. -na[me] CLASSNAME Set the X window class. -s[cheme] SCHEME Unknown, probably does nothing useful. -ti[tle] WINDOWTITLE Set the window title. -to[oltips], -not[ooltips] Enable/disable tooltips, probably does nothing. EXAMPLE
To start using wmanager, create a ~/.wmanagerrc file - generally with wmanagerrc-update(1) - and add something like the following at the end of your ~/.xsession file: WM="$(wmanager -geometry +570+585)" ... exec $WM See also wmanager-loop(1) for a nicer way to start wmanager. SEE ALSO
wmanager(1), wmanager-loop(1), wmanagerrc-update(1), X(7x) HISTORY
The wmanager program was written by Meik Tessmer in 1999. This manual page was originally written in perldoc format by Tommi Virtanen in 2000, and converted to mdoc format by Peter Pentchev in 2008. AUTHORS
The wmanager program - Meik Tessmer <fuller@daemogorgon.net>. The manual page - Tommi Virtanen <tv@debian.org> and Peter Pentchev <roam@ringlet.net>. BSD
May 22, 2008 BSD
All times are GMT -4. The time now is 08:27 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy