Click here to Skip to main content
15,938,578 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: Writing a huge structure data to file Pin
Richard MacCutchan4-Jan-18 23:27
mveRichard MacCutchan4-Jan-18 23:27 
AnswerRe: Writing a huge structure data to file Pin
jschell5-Jan-18 13:49
jschell5-Jan-18 13:49 
AnswerRe: Writing a huge structure data to file Pin
leon de boer6-Jan-18 4:11
leon de boer6-Jan-18 4:11 
QuestionHow to return a string from a user defined function to main function ? Pin
Tarun Jha3-Jan-18 3:21
Tarun Jha3-Jan-18 3:21 
AnswerRe: How to return a string from a user defined function to main function ? Pin
David Crow3-Jan-18 6:24
David Crow3-Jan-18 6:24 
GeneralRe: How to return a string from a user defined function to main function ? Pin
Tarun Jha3-Jan-18 7:20
Tarun Jha3-Jan-18 7:20 
GeneralRe: How to return a string from a user defined function to main function ? Pin
David Crow3-Jan-18 7:29
David Crow3-Jan-18 7:29 
AnswerRe: How to return a string from a user defined function to main function ? Pin
Jochen Arndt3-Jan-18 12:48
professionalJochen Arndt3-Jan-18 12:48 
There is no simple method in C to return a string from a function.

Possible methods are:

1. Passing a char* pointer to the function and the function fills the passed buffer. In such cases the size of the buffer should be also passed and the return value indicates failure (usually -1) or success (usually length of copied string):
C
int input(char *buf, int buf_size)
{
    char local_buf[100] = "";
    // Use fgets here instead of gets to avoid buffer overruns
    fgets(local_buf, sizeof(local_buf), stdin);
    int len = strlen(local_buf);
    if (buf_size <= len)
        return -1;
    strcpy(buf, local_buf);
    return len;
}

2. Letting the function allocate a buffer. The calling function must free the buffer when no longer used:
C
char *input()
{
    char local_buf[100] = "";
    // Use fgets here instead of gets to avoid buffer overruns
    fgets(local_buf, sizeof(local_buf), stdin);
    return strdup(local_buf);
}

// Usage
char *input_str;
input_str = input();
// Use string here
// ...
// Finally free it
free(input_str);

However, in your case there is no need for an own function because it is already provided by the standard C library: fgets - C++ Reference[^].
AnswerRe: How to return a string from a user defined function to main function ? Pin
Member 115604903-Jan-18 14:48
Member 115604903-Jan-18 14:48 
AnswerRe: How to return a string from a user defined function to main function ? Pin
leon de boer3-Jan-18 15:07
leon de boer3-Jan-18 15:07 
GeneralRe: How to return a string from a user defined function to main function ? Pin
Tarun Jha3-Jan-18 19:29
Tarun Jha3-Jan-18 19:29 
GeneralRe: How to return a string from a user defined function to main function ? Pin
Victor Nijegorodov3-Jan-18 23:04
Victor Nijegorodov3-Jan-18 23:04 
GeneralRe: How to return a string from a user defined function to main function ? Pin
Tarun Jha4-Jan-18 4:02
Tarun Jha4-Jan-18 4:02 
GeneralRe: How to return a string from a user defined function to main function ? Pin
Richard MacCutchan3-Jan-18 23:21
mveRichard MacCutchan3-Jan-18 23:21 
GeneralRe: How to return a string from a user defined function to main function ? Pin
Tarun Jha4-Jan-18 4:05
Tarun Jha4-Jan-18 4:05 
GeneralRe: How to return a string from a user defined function to main function ? Pin
Richard MacCutchan4-Jan-18 4:10
mveRichard MacCutchan4-Jan-18 4:10 
GeneralRe: How to return a string from a user defined function to main function ? Pin
Tarun Jha5-Jan-18 0:48
Tarun Jha5-Jan-18 0:48 
GeneralRe: How to return a string from a user defined function to main function ? Pin
leon de boer4-Jan-18 14:32
leon de boer4-Jan-18 14:32 
GeneralRe: How to return a string from a user defined function to main function ? Pin
Tarun Jha5-Jan-18 0:46
Tarun Jha5-Jan-18 0:46 
QuestionTo make a function in C which does not except "\n" & EOF as input. Pin
Tarun Jha2-Jan-18 2:35
Tarun Jha2-Jan-18 2:35 
AnswerRe: To make a function in C which does not except "\n" & EOF as input. Pin
David Crow2-Jan-18 3:05
David Crow2-Jan-18 3:05 
GeneralRe: To make a function in C which does not except "\n" & EOF as input. Pin
Tarun Jha3-Jan-18 3:48
Tarun Jha3-Jan-18 3:48 
AnswerRe: To make a function in C which does not except "\n" & EOF as input. Pin
Richard MacCutchan2-Jan-18 3:36
mveRichard MacCutchan2-Jan-18 3:36 
AnswerRe: To make a function in C which does not except "\n" & EOF as input. Pin
leon de boer2-Jan-18 13:38
leon de boer2-Jan-18 13:38 
GeneralRe: To make a function in C which does not except "\n" & EOF as input. Pin
Tarun Jha3-Jan-18 3:40
Tarun Jha3-Jan-18 3:40 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.