How to right pad with zeros using sprintf?


 
Thread Tools Search this Thread
Top Forums Programming How to right pad with zeros using sprintf?
# 1  
Old 09-20-2010
How to right pad with zeros using sprintf?

I need to right-pad with zeros a string by using (s)printf.

I looked up the manual and tried with

Code:
printf("%-19s", buffer);

which right-pad the string with spaces. So I tried

Code:
printf("%019s", buffer);

which left-pad the string with zeros. So I tried both

Code:
printf("%-019s", buffer);
printf("%0-19s", buffer);

but I still got a right-pad string with spaces.

I need a right-pad string with zeros. Smilie

Can I have that result with (s)printf() ?

Thanks in advance,
S.

Last edited by emitrax; 09-20-2010 at 07:08 AM..
# 2  
Old 09-20-2010
Code:
$ echo "buffer" | ruby -e 'puts gets.chomp.ljust(20,"0")'
buffer00000000000000

# 3  
Old 09-20-2010
Did I forget to specify that I need to do this in C(++)?
# 4  
Old 09-20-2010
nowhere in your post states C++. and most other languages support printf and sprintf functions.
# 5  
Old 09-20-2010
Quote:
Originally Posted by kurumi
nowhere in your post states C++. and most other languages support printf and sprintf functions.
You are right. I fixed the title. Thanks.
# 6  
Old 09-20-2010
The stdC library doesn't specify that. Start with this C code and C++ -ify it.

Code:
char *rpad(char *dest, const char *src, const char pad, const size_t sz)
{
   memset(dest, pad, sz);
   dest[sz]=0x0;
   memcpy(dest, src, strlen(src));
   return dest;
}

# 7  
Old 09-20-2010
Code:
printf("%s%019s\n", buffer, "0");

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Join with awk using sprintf

Hi, Trying to join 2 files with awk (file1 has variable number of fields; file 2 has constant number of fields) file1: hook1|AA|BB|CC|DD hook2|EE|FF file2: hook1|11|22 hook2|33|44 hook3|55|66 output: hook1|11|22|AA|BB|CC|DD hook2|33|44|EE|FF hook3|55|66 What I tried so far:... (3 Replies)
Discussion started by: beca123456
3 Replies

2. Shell Programming and Scripting

How to pad with leading zeros for current time?

I'm using cygwin bash to submit scheduled tasks (kinda like cron jobs) in windows and the following script is giving me grief. I need to format the current time with leading zeros before 10AM for the hour field. In this example, I manually typed in "09:50" instead of using the `printf...`... (2 Replies)
Discussion started by: siegfried
2 Replies

3. Shell Programming and Scripting

Pad Zeros at the end

I have number/strings like below input =23412133 output = 234121330000 (depends on the number give at runtime) i need to padd zeros based on runtime input . i tried below printf ' %d%04d\n', "23412133"; But the precision 4 is static here how can i pass this as runtime input. i am... (11 Replies)
Discussion started by: greenworld123
11 Replies

4. Programming

Problem with Sprintf

Hi, I have the below sample code to hash the input number read from file. File will have 16 to 19 digit number and executable hash the number using some logic and returns the hashed value. Each digit in the 16 digit number is converted to a 4 byte value. That if the input is 16digit integer, the... (6 Replies)
Discussion started by: ramkrix
6 Replies

5. Shell Programming and Scripting

sprintf result on perl

Hello, In perl lang, I have create a string (@str) by sprintf but unfortunately when program printed it out, only I could saw a number like 1. Certainly printf doesn't problem. How I can convert a string that are result of sprintf to a common string format??! Thanks in advance. PLEASE HELP ME. (2 Replies)
Discussion started by: Zaxon
2 Replies

6. Programming

equivalent of sprintf in C++

Hi My requirement is to convert the following to C++ char buffer; sprintf(buffer,"%s %-50s %6s %-6d %s\n",a.substr(0,5),a.substr(10,20)) Since the buffer is of varying length, i cannot hardcode the value as 90. i would like to convert the buffer to string object so that it can receive any... (1 Reply)
Discussion started by: dhanamurthy
1 Replies

7. Shell Programming and Scripting

Pad zeros to a number

Pad zeros to a number and assign it to a variable like i get 1 in $i ,i want it to be $i as 01 (6 Replies)
Discussion started by: anumkoshy
6 Replies

8. UNIX for Dummies Questions & Answers

pad Zeros

Hi can I know command to pad Zeros to a value I get 16 and I need to send 0000000016 (5 Replies)
Discussion started by: mgirinath
5 Replies

9. Shell Programming and Scripting

ksh scripting sprintf

is there any sprintf function in korn shell scripting, or anything similar to sprintf? (2 Replies)
Discussion started by: gfhgfnhhn
2 Replies

10. Programming

sprintf function

Hi, Can someone help me to figure out whether this code is to write file to /tmp/TIMECLOCK directory or just to asign a variable with "/tmp/TIMECLOCK/name.log_copy.pid" as the string? I am looking into an old C program and could not figure out where in the code that creates... (1 Reply)
Discussion started by: whatisthis
1 Replies
Login or Register to Ask a Question