What is the memset for? [closed]

-5

But I really do not know what function the memset performs ().

#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main()
{
    int data_processed;
    int file_pipes[2];
    const char some_data[] = "123";
    char buffer [BUFSIZ + 1];
    pid_t fork_result;

    memset(buffer, '
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main()
{
    int data_processed;
    int file_pipes[2];
    const char some_data[] = "123";
    char buffer [BUFSIZ + 1];
    pid_t fork_result;

    memset(buffer, '%pre%', sizeof(buffer));
    if (pipe(file_pipes) == 0){
        fork_result = fork();
        if(fork_result == -1){
            fprintf(stderr, "Fork failure");
            exit(EXIT_FAILURE);
        }
        if (fork_result == 0) {
            data_processed = read(file_pipes[0], buffer, BUFSIZ);
            printf("Read %d bytes: %s \n", data_processed, buffer);
            exit(EXIT_SUCCESS);
        }   
        else {
        data_processed = write(file_pipes[1], some_data, strlen(some_data));
        printf("Wrote %d bytes \n", data_processed);
        }
    }
    exit(EXIT_SUCCESS);
}
', sizeof(buffer)); if (pipe(file_pipes) == 0){ fork_result = fork(); if(fork_result == -1){ fprintf(stderr, "Fork failure"); exit(EXIT_FAILURE); } if (fork_result == 0) { data_processed = read(file_pipes[0], buffer, BUFSIZ); printf("Read %d bytes: %s \n", data_processed, buffer); exit(EXIT_SUCCESS); } else { data_processed = write(file_pipes[1], some_data, strlen(some_data)); printf("Wrote %d bytes \n", data_processed); } } exit(EXIT_SUCCESS); }
    
asked by Luis Angel López Santos 13.06.2017 в 17:25
source

1 answer

3
  

The memset function of C * memset (void * str, int c, size_t n) copies the c character (an unsigned char) to the first > n characters from str .

Here is an example:

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

int main ()
{
     char str[50];

     strcpy(str,"This is string.h library function");
     puts(str);

     memset(str,'$',7);
     puts(str);

     return(0);
}

And what is shown on the screen:

This is string.h library function
$$$$$$$ string.h library function

In your case, replace the buffer elements with '%code%'

    
answered by 13.06.2017 / 17:39
source