Search Results

Search found 7500 results on 300 pages for 'const char'.

Page 102/300 | < Previous Page | 98 99 100 101 102 103 104 105 106 107 108 109  | Next Page >

  • can't read from stream until child exits?

    - by BobTurbo
    OK I have a program that creates two pipes - forks - the child's stdin and stdout are redirected to one end of each pipe - the parent is connected to the other ends of the pipes and tries to read the stream associated with the child's output and print it to the screen (and I will also make it write to the input of the child eventually). The problem is, when the parent tries to fgets the child's output stream, it just stalls and waits until the child dies to fgets and then print the output. If the child doesn't exit, it just waits forever. What is going on? I thought that maybe fgets would block until SOMETHING was in the stream, but not block all the way until the child gives up its file descriptors. Here is the code: #include <stdlib.h> #include <stdio.h> #include <string.h> #include <sys/types.h> #include <unistd.h> int main(int argc, char *argv[]) { FILE* fpin; FILE* fpout; int input_fd[2]; int output_fd[2]; pid_t pid; int status; char input[100]; char output[100]; char *args[] = {"/somepath/someprogram", NULL}; fgets(input, 100, stdin); // the user inputs the program name to exec pipe(input_fd); pipe(output_fd); pid = fork(); if (pid == 0) { close(input_fd[1]); close(output_fd[0]); dup2(input_fd[0], 0); dup2(output_fd[1], 1); input[strlen(input)-1] = '\0'; execvp(input, args); } else { close(input_fd[0]); close(output_fd[1]); fpin = fdopen(input_fd[1], "w"); fpout = fdopen(output_fd[0], "r"); while(!feof(fpout)) { fgets(output, 100, fpout); printf("output: %s\n", output); } } return 0; }

    Read the article

  • [C] Programming problem: Storing values of an array in one variable

    - by OldMacDonald
    Hello, I am trying to use md5 code to calculate checksums of file. Now the given function prints out the (previously calculated) checksum on screen, but I want to store it in a variable, to be able to compare it later on. I guess the main problem is that I want to store the content of an array in one variable. How can I manage that? Probably this is a very stupid question, but maybe somone can help. Below is the function to print out the value. I want to modify it to store the result in one variable. static void MDPrint (mdContext) MD5_CTX *mdContext; { int i; for (i = 0; i < 16; i++) { printf ("%02x", mdContext->digest[i]); } // end of for } // end of function For reasons of completeness the used struct: /* typedef a 32 bit type */ typedef unsigned long int UINT4; /* Data structure for MD5 (Message Digest) computation */ typedef struct { UINT4 i[2]; /* number of _bits_ handled mod 2^64 */ UINT4 buf[4]; /* scratch buffer */ unsigned char in[64]; /* input buffer */ unsigned char digest[16]; /* actual digest after MD5Final call */ } MD5_CTX; and the used function to calculate the checksum: static int MDFile (filename) char *filename; { FILE *inFile = fopen (filename, "rb"); MD5_CTX mdContext; int bytes; unsigned char data[1024]; if (inFile == NULL) { printf ("%s can't be opened.\n", filename); return -1; } // end of if MD5Init (&mdContext); while ((bytes = fread (data, 1, 1024, inFile)) != 0) MD5Update (&mdContext, data, bytes); MD5Final (&mdContext); MDPrint (&mdContext); printf (" %s\n", filename); fclose (inFile); return 0; }

    Read the article

  • MSVC++ enum underlying type

    - by bobobobo
    MSDN has enum [tag] [: type] {enum-list} [declarator]; // for definition of enumerated type SO it looks like you can specify the type of an enum in MSVC++, but it doesn't seem to work for me: // want "underlying type" of this enum to be char. enum MyCharEnum : char { Val1 ='A', Val2 ='B', Val9 ='X' } ;

    Read the article

  • C#: check if a string start with any character in a list

    - by JoesyXHN
    Hi, I want to check whether a string starts with any character in a list. My current implementation in C# is as follows: char[] columnChars = new char[] { 'A', 'B', 'C', 'D', 'E' }; private bool startWithColumn(string toCheck) { for(int i=0; i<columnChars.Length; i++) if (toCheck.StartsWith(columnChars[i]+"")) { return true; } return false; } I would like to know if any solution is better?

    Read the article

  • Another getcwd question...

    - by rubenvb
    Sorry to keep hammering on this, but I'm trying to learn :). Is this any good? And yes, I care about memory leaks. I can't find a decent way of preallocating the char*, because there simply seems to be no cross-platform way. const string getcwd() { char* a_cwd = getcwd(NULL,0); string s_cwd(a_cwd); free(a_cwd); return s_cwd; }

    Read the article

  • Regular expression - skip string in quotes using sed

    - by milano
    I have string like this: "Some standard text CONST_INSIDE_QUOTES" blah blah CONST "There might be another quotes" The thing is, that i want to replace all constants in string with some text, but it mustn't be applied on constants inside text in quotes. I have this regex: sed "s/([A-Z][A-Z0-9_]*)([^a-z])/<span class=\"const\"\1<\/span\2/g" which of course works for all consts. Any ideas how to exclude its apply on quotes constants? Unfortunately sed only...

    Read the article

  • error in c, but not in c++

    - by eswar
    const int t=5; char buf[t+5]; When I compile this gives error in C but not in C++!! Can anybody please explain me the reason? Note: I know the const defaults to internal linkage in 'C++', where as in 'C' it defaults to external linkage. Does it has any relation to the above case??

    Read the article

  • C++ operator[ ] on integer litteral

    - by gregseth
    I found this piece of code: char a = 1["ABC"]; A few quick test led me to the fact it was the same than writing: char a = "ABC"[1]; Which seems far more logical to me. So my questions: Why is this notation valid? Is there any reason to write something that way?

    Read the article

  • How initialize array of classes? (C++)

    - by Kra
    Hello, I have this class constructor: Pairs (int Pos, char *Pre, char *Post, bool Attach = true); How can I initialize array of Pairs classes? I tried: Pairs Holder[3] = { {Input.find("as"), "Pre", "Post"}, {Input.find("as"), "Pre", "Post"}, {Input.find("as"), "Pre", "Post"} }; Apparently it's not working, I also tried to use () brackets instead of {} but compiler keeps moaning all the time. Sorry if it is lame question, I googled quite hard but wasn't able to find answer :/ Thanks.

    Read the article

  • C++ sort array of strings

    - by user69514
    I am trying to sort an array of strings, but it's not sorting anything.... what am I doing wrong? string namesS[MAX_NAMES]; int compare (const void * a, const void * b){ return ( *(char*)a - *(char*)b ); } void sortNames(){ qsort(namesS, MAX_NAMES, sizeof(string), compare); }

    Read the article

  • "Implicit declaration" warning

    - by gcc
    For this code: int i=0; char **mainp; for(i=0;i<2;++i) { mainp[i]=malloc(sizeof(char)*200); if(!scanf("%[^#],#",mainp[i])) break; if(i<2) scanf("%[^#],#",mainp[i]); } GCC emits the warnings: warning: implicit declaration of function ‘scanf’ warning: incompatible implicit declaration of built-in function ‘scanf’ warning: ‘mainp’ may be used uninitialized in this function And I get a segmentation fault at runtime

    Read the article

  • This is a valid C code but not a valid C++ code?

    - by claws
    In some library I'm using (written in C) its StorePGM(image, width, height, filename) char *image; int width, height; char *filename; { // something something } All functions are defined this way. I never seen such function definitions in my life. They seem to be valid to MSVC but when I compile it as C++ it gives errors. What is it? some kind of old version C?

    Read the article

  • implicit declaration of

    - by gcc
    int i=0; char **mainp; for(i=0;i<2;++i) { mainp[i]=malloc(sizeof(char)*200); if(!scanf("%[^#],#",mainp[i])) break; if(i<2) scanf("%[^#],#",mainp[i]); } why does gcc send me that warnings warning: implicit declaration of function ‘scanf’ warning: incompatible implicit declaration of built-in function ‘scanf’ warning: ‘mainp’ may be used uninitialized in this function

    Read the article

  • Writting a getter for a pointer to a function .

    - by nomemory
    I have the following problem: "list.c" struct nmlist_element_s { void *data; struct nmlist_element_s *next; }; struct nmlist_s { nmlist_element *head; nmlist_element *tail; unsigned int size; void (*destructor)(void *data); int (*match)(const void *e1, const void *e2); }; /*** Other code ***/ What will be the signature for a function that returns 'destructor' ?

    Read the article

  • Remove control M from a text file in C

    - by Werner
    Hi, ist is possible? What would be the easiest way? I tried to compare in the input string character to character so if(char([i]=="^M") char[i]="" but it does not work. By the way, if I were able to check it, what is the wistes substitution? to "" ? Thanks

    Read the article

  • how does sizeof work with array in C++

    - by skydoor
    Hi, I was told the array name is a pointer char a[] = "a" but when sizeof(a) = 2 why not it is a size of pointer here? however when I define it like this char* a ="a"; we get sizeof(a) =4; Well, I think I need more information about how does sizeof work with the array names.... Can anyone elaborate that?

    Read the article

  • Float to binary in C++

    - by Eric
    Hi, I'm wondering if there is a way to represent a float using a char in C++? For example: int main() { float test = 4.7567; char result = charRepresentation(test); return 0; } I read that probably using bitset I can do it but I'm not pretty sure.

    Read the article

  • Return an empty C-String

    - by Evorlor
    Simple Question: How do you return an empty C-String with as little code as possible? I have code that needs to return an empty char*. I am looking for something along the lines of return "";. I know there are several ways to do this, but I am looking for the most efficient way possible. Using return ""; gives warning: conversion from string literal to 'char *' is deprecated [-Wdeprecated-writable-strings] Thanks!

    Read the article

< Previous Page | 98 99 100 101 102 103 104 105 106 107 108 109  | Next Page >