Sponsored Content
Homework and Emergencies Homework & Coursework Questions Malloc - unlimited input from user Post 302776779 by Joshuarodriguez on Wednesday 6th of March 2013 10:12:05 PM
Old 03-06-2013
Malloc - unlimited input from user

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!

1. The problem statement, all variables and given/known data:

I'm trying to get an unlimited input of words with an unlimited number characters from the user using
malloc and pointer to pointer then printing the inputs if only the user inputted the word "end". Even if the user
presses enter, the program should still ask input until there is no "end" inputted.
Can you please help me, I don't know if I'm doing right.



2. Relevant commands, code, scripts, algorithms:


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

int main () {

    char** pointer = malloc(sizeof(char**) * 5000);
    fgets(pointer, 5000, stdin);
    if (strncmp(pointer, "end", 5000) == 0) {
        puts(pointer);
        puts("\n");
    }
    return 0;
}



3. The attempts at a solution (include all code and scripts):



4. Complete Name of School (University), City (State), Country, Name of Professor, and Course Number (Link to Course):

AcSat QC Philippines, Mr. Jules Morcilla , CS13


Note: Without school/professor/course information, you will be banned if you post here! You must complete the entire template (not just parts of it).

Last edited by Scrutinizer; 03-07-2013 at 06:09 AM.. Reason: code tags
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

setting unlimited filesize for a filesystem in

All, How can I enable largefiles in one of the filesytems in Sun OS 5.9 ? ls -l -rw-r--r-- 1 oracle dba 2548163397 Dec 3 02:57 TT_TT_full.dmp.Z cp -p TT_TT_full.dmp.Z /exports/tt/ cp: TT_TT_full.dmp.Z: File too large ulimit -a time(seconds) unlimited file(blocks) ... (1 Reply)
Discussion started by: win_vin
1 Replies

2. Shell Programming and Scripting

Getting user input

I am trying to create a shell (ksh) which has two "read" commands, one which reads a line from a file and another which is inside a loop that reads user input from a keyboard. However, the "read" command inside the loop uses the input from the file and it does not get the user input from keyboard.... (3 Replies)
Discussion started by: stevefox
3 Replies

3. UNIX for Advanced & Expert Users

set Ulimit data segment to Unlimited

Hi, as per my Unix admin all parameters in Ulimit are set to Unlimited in Hard limits but some how few profiles setting data segment part to limited number value. So i wanted to over write in my profile to set unlimited as hard limits are set to unlimited. What is the command to set ulimit for... (1 Reply)
Discussion started by: terala_s
1 Replies

4. HP-UX

ulimit -c unlimited

Hi, I want to set the coredump to unlimited, but it seems it does not work. > ulimit -a time(seconds) unlimited file(blocks) unlimited data(kbytes) 1048576 stack(kbytes) 131072 memory(kbytes) unlimited coredump(blocks) 4194303... (1 Reply)
Discussion started by: mr_andrew
1 Replies

5. Shell Programming and Scripting

How to get the user input recursively until the user provides valid input

Hi, echo "Enter file name of input file list along with absolute path : " read inputFileList if then for string in `cat inputFileList` do echo $string done else echo " file does not exist" fi From the above code, if the user enters a invalid file... (1 Reply)
Discussion started by: i.srini89
1 Replies

6. Solaris

HOW to set unlimited login attempts for user in Solaris?

Hi Admins, HOW to set unlimited login attempts for user in Solaris ? And do I need to insatll any packages before doing this? Thanks. (1 Reply)
Discussion started by: manalisharmabe
1 Replies

7. Shell Programming and Scripting

Script interacts with user , based on user input it operates

i have a script which takes input from user, if user gives either Y/y then it should continue, else it should quit by displaying user cancelled. #!/bin/sh echo " Enter your choice to continue y/Y OR n/N to quit " read A if then echo " user requested to continue " ##some commands... (7 Replies)
Discussion started by: only4satish
7 Replies

8. Shell Programming and Scripting

User input and run awk using the input

I am trying to allow a user to enter in text and then store that text in a variable $gene to run in an awk command in which those values are used to run some calculations. I am getting syntax errors however, when I try. Thank you :). The awk runs great if it is a pre-defined file that is used,... (7 Replies)
Discussion started by: cmccabe
7 Replies

9. Red Hat

Ulimit -c unlimited

I was trying to generate core dump of a process.But it is not generated. While digging up the issue I found that Core File Size is set to 0. I set it with #ulimit -c unlimited.After that I found the core file size is set to 0 (ulimit -a).I exit that session and again logged in.But found the core... (12 Replies)
Discussion started by: Anjan Ganguly
12 Replies
FGETS(3)						   BSD Library Functions Manual 						  FGETS(3)

NAME
fgets, gets -- get a line from a stream LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <stdio.h> char * fgets(char * restrict str, int size, FILE * restrict stream); char * gets(char *str); DESCRIPTION
The fgets() function reads at most one less than the number of characters specified by size from the given stream and stores them in the string str. Reading stops when a newline character is found, at end-of-file or error. The newline, if any, is retained, and a '' charac- ter is appended to end the string. The gets() function is equivalent to fgets() with an infinite size and a stream of stdin, except that the newline character (if any) is not stored in the string. It is the caller's responsibility to ensure that the input line, if any, is sufficiently short to fit in the string. RETURN VALUES
Upon successful completion, fgets() and gets() return a pointer to the string. If end-of-file or an error occurs before any characters are read, they return NULL. The fgets() and gets() functions do not distinguish between end-of-file and error, and callers must use feof(3) and ferror(3) to determine which occurred. ERRORS
[EBADF] The given stream is not a readable stream. The function fgets() may also fail and set errno for any of the errors specified for the routines fflush(3), fstat(2), read(2), or malloc(3). The function gets() may also fail and set errno for any of the errors specified for the routine getchar(3). SEE ALSO
feof(3), ferror(3), fgetln(3) STANDARDS
The functions fgets() and gets() conform to ANSI X3.159-1989 (``ANSI C89'') and IEEE Std 1003.1-2001 (``POSIX.1''). The IEEE Std 1003.1-2008 (``POSIX.1'') revision marked gets() as obsolescent. CAVEATS
The following bit of code illustrates a case where the programmer assumes a string is too long if it does not contain a newline: char buf[1024], *p; while (fgets(buf, sizeof(buf), fp) != NULL) { if ((p = strchr(buf, ' ')) == NULL) { fprintf(stderr, "input line too long. "); exit(1); } *p = ''; printf("%s ", buf); } While the error would be true if a line longer than 1023 characters were read, it would be false in two other cases: 1. If the last line in a file does not contain a newline, the string returned by fgets() will not contain a newline either. Thus strchr() will return NULL and the program will terminate, even if the line was valid. 2. All C string functions, including strchr(), correctly assume the end of the string is represented by a null ('') character. If the first character of a line returned by fgets() were null, strchr() would immediately return without considering the rest of the returned text which may indeed include a newline. Consider using fgetln(3) instead when dealing with untrusted input. SECURITY CONSIDERATIONS
Since it is usually impossible to ensure that the next input line is less than some arbitrary length, and because overflowing the input buf- fer is almost invariably a security violation, programs should NEVER use gets(). The gets() function exists purely to conform to ANSI X3.159-1989 (``ANSI C89''). BSD
May 13, 2010 BSD
All times are GMT -4. The time now is 06:29 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy