Annoying whitespace after a char string...


 
Thread Tools Search this Thread
Top Forums Programming Annoying whitespace after a char string...
# 1  
Old 05-02-2011
Annoying whitespace after a char string...

Greetings everyone!
I keep getting a very long whitespace after some char strings I'm outputting.
This is the function where I input the names, last names...:
Code:
void add_to_list (void) 
/* Add a new name to our address book */
{
    ADDRESS *new_name;
    FILE *outfile;
    new_name= (ADDRESS *)malloc (sizeof (ADDRESS));
    if (new_name == NULL) {
        printf ("Out of memory!\n");
        exit (-1);
       
    }
   outfile = fopen ("contactlist.dat", "w");
    /* Get input for the new item */
   printf ("Enter the position of the contact [numerically/alphabetically]: ");
    fgets (new_name->pos, MAXLEN, stdin);
    printf ("Enter the First Name: ");
    fgets (new_name->name, MAXLEN, stdin);
    printf ("Enter the Last Name: ");
    fgets (new_name->lname, MAXLEN, stdin);
    /* Chain the new item into the list */
    new_name->next= hol;
    hol= new_name;
}

And this is the function where I want to output them:
Code:
void table_names (void)
{
    ADDRESS *tmp_ptr;
    printf ("All names in address book:\n");
    tmp_ptr= hol; 
      printf(" ______________________________\n");
      printf("|  FIRST NAMES   | LAST NAMES  |\n");
      printf("|________________|_____________|\n");
    while(tmp_ptr!=NULL)
{   
  printf ("%s%s %d %d",tmp_ptr->name,tmp_ptr->lname,strlen(tmp_ptr->name),strlen(tmp_ptr->lname));
        tmp_ptr= tmp_ptr->next;
}
    }

The thing is I added strlen to see if it has got any extra characters, but the character count is always correct...

Any help?
# 2  
Old 05-03-2011
Quote:
The thing is I added strlen to see if it has got any extra characters, but the character count is always correct...

Any help?
Not yet. But could you please change the printf() a little bit, and post an output sample?
Code:
printf ("|%s|%s| %d %d",tmp_ptr->name,tmp_ptr->lname,strlen(tmp_ptr->name),strlen(tmp_ptr->lname));

Thanks, Loďc
# 3  
Old 05-03-2011
It might help if you posted the entire code so others can try it out and come up with a solution.
# 4  
Old 05-03-2011
Quote:
Originally Posted by Loic Domaigne
Not yet. But could you please change the printf() a little bit, and post an output sample?
Code:
printf ("|%s|%s| %d %d",tmp_ptr->name,tmp_ptr->lname,strlen(tmp_ptr->name),strlen(tmp_ptr->lname));

Thanks, Loďc
Hey Loic, I figured out the problem. Actually the error is from fgets... But I can't use any other input to take spaces too... :/
# 5  
Old 05-13-2011
fgets() will always place a \n at the end and after \n, \0 is placed. So replace \n with \0 and try to print it....
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

C++ Using open on a string instead of char*

I am using ifstream to open a file using std::fstream::open void open ( const char * filename, ios_base::openmode mode = ios_base::in ); However I want to use a string instead of a char* as follows but having a problem on how to do this string val_ifmodl = “fred.modl” ifstream ifs_modl;... (2 Replies)
Discussion started by: kristinu
2 Replies

2. Programming

Cast from String to char

Hello, This is my code: i'd like to like to add getenv("MYLIB") in the first case of my buffer inside of '1' , should i do the cast ? and how please ? Thank you. (1 Reply)
Discussion started by: chercheur857
1 Replies

3. Shell Programming and Scripting

How to match (whitespace digits whitespace) sequence?

Hi Following is an example line. echo "192.22.22.22 \"33dffwef\" 200 300 dsdsd" | sed "s:\(\ *\ \):\1:" I want it's output to be 200 However this is not the case. Can you tell me how to do it? I don't want to use AWK for this. Secondly, how can i fetch just 300? Should I use "\2"... (3 Replies)
Discussion started by: shahanali
3 Replies

4. Shell Programming and Scripting

How to loop through every char in a string

for example this string: gLZMQp8i Loop become easy if we add space between each char, How to do it? or other solutions are welcome. (9 Replies)
Discussion started by: honglus
9 Replies

5. Shell Programming and Scripting

Parsing char string

I am stumped! I need to parse an input parameter to a script that has the form '-Ort'. I basically need 'O', 'r' and 't', i.e. the individual characters in the string parsed. Since there are no delimiters, I don't know how awk could do this. Can someone tell how to do this, this should be a... (5 Replies)
Discussion started by: ALTRUNVRSOFLN
5 Replies

6. Shell Programming and Scripting

last char from a string

i have a script that reads a plain text file. (its a ksh, and i can use bash also) each line of the file is a fullpath of a file. that makes the list huge. i need to add a functionalitie to that script, i have to be able to add /usr/* or /usr/ and with that reference all the files and folders... (6 Replies)
Discussion started by: broli
6 Replies

7. Programming

replacing char with string

how we can replace char with a string example char *a="a.s" so finally what i ant to do raplace a with ant and s sree so in my array a i want to store the value as "ant.sree" thank u in advance (1 Reply)
Discussion started by: phani_sree
1 Replies

8. Shell Programming and Scripting

SED: Matching a string with whitespace?

I am trying to search through a text file and replace the number 1 at the beginning of the string in the second field with the number 9. There maybe one or more occurrences of whitespace between the string GPA131 and 17049333610. Does anyone know how to do this with sed? GPA131 17049333610 ... (1 Reply)
Discussion started by: cstovall
1 Replies

9. UNIX for Dummies Questions & Answers

string of 7 char length always...

Hi, I know, particular value in the variable should always be of lenth 7 , but the value that is present in thevariable might be of any no.of characters less than or equal to 7... if the no.of characters in the variable is less than 7, I want to add, zeroes at the starting of the field.. How can... (3 Replies)
Discussion started by: thanuman
3 Replies

10. Programming

Compare Char to String

This is actually a c++ question... Basically I am creating a program that asks for five characters. I have a dictionary file containing tons of words no long than five letters long, on a seperate line. I want to be able to take the five inputted letters and compare them to the words in the file... (3 Replies)
Discussion started by: Phobos
3 Replies
Login or Register to Ask a Question