printf

C: How long can a double be when printed through printf()

I need to specify the exact length of a string to be printed from a double value, but I don't want to restrict the output any more than is necessary. What is the maximum length that a 6-digit precision double will have when formatted by printf()? Specifically, what value should I give to X in printf("%X.6lg",doubleValue); to ensure tha...

PHP sprintf() and printf() functions

I've never used these functions before but after reading a lot about sprintf(), I decided I should get to know it. So I went ahead and did the following. function currentDateTime() { list($micro, $Unixtime) = explode(" ",microtime()); $sec= $micro + date("s", $Unixtime); $sec = mb_ereg_replace(sprintf('%d', $sec), "", ($micro + d...

Strange stdout behavior in C++

I want my program to display the unix windmill while processing. There's a for loop and in every iteration theres a printf function: printf("Fetching articles (%c)\r",q); q is one of the characters in the windmill (-\|/) depending on the iteration number. The problem is - it seems like in 100 iterations there are only two changes in ...

A question about printf arguments. C/C++.

Hello, We have the following code fragment: char tab[2][3] = {'1', '2', '\0', '3', '4', '\0'}; printf("%s\n", tab); And I don't understand why we don't get an error / warning in the call to printf. I DO get a warning but not an error, and the program runs fine. It prints '12'. printf is expecting an argument of type char *, i.e. a po...

How to print '\n' instead of a newline?

I am writing a program that uses prints a hex dump of its input. However, I'm running into problems when newlines, tabs, etc are passed in and destroying my output formatting. How can I use printf (or cout I guess) to print '\n' instead of printing an actual newline? Do I just need to do some manual parsing for this? EDIT: I'm receivin...

What’s the correct way to use printf to print a clock_t?

I'm currently using a explicit cast to unsigned long long and using %llu to print it, but since size_t has the %z specifier, why clock_t doesn't have one? There isn't even a macro for it. Maybe I can assume that on a x64 system (OS and CPU) size_t has 8 byte in length (and even in this case, they have provided %z), but what about clock_t...

How do I print the '%' character with 'printf'?

Simple problem that I can't figure out... How can I print a '%' character within a printf string? The code below prints it, but gives an 'invalid conversion' error as well. printf "\t\t".$hour."00 HRS\t=>\t%.2f\t%.2f\t%.1f\%\n", $total, $max15, ($max15/$total*100); Should output something like: 0000 HRS => 3125.19 8...

How do I set the fill character for displaying numbers (Objective C)

I'm trying to format a string to give me 2 characters for a number, no matter what its value. Right now, I have [NSString stringWithFormat:@"%2d:%2d:%2d",h,m,s)]; and for the values 1, 2, 3, the output is 1: 2: 3 How do I change the spaces to 0's ? ...

C Formatting Question (%d versus %u)

What is difference between %d and %u when printing pointer addresses? For example: int a=5; // check the memory address printf("memory add=%d\n", &a); // prints "memory add=-12" printf("memory add=%u\n", &a); // prints "memory add=65456" Please define. ...

C char array is not a string pattern?

Hello, I am having a compilation error on the following code: printf((char *) buffer); and the error message that I am getting is: cc1: format not a string literal and no format arguments... I suspect there are some libraries that I forgot to install, as I was able to compile and run the code without an error on the other machine......

Padding a time on the left with sprintf ?

Hi, I'm trying to pad a time (playtime of an MP3) using sprintf() in PHP. sprintf("%02d:2d:2d", $time); The function that returns the time gets, for example, '1:56' if the MP3 is 1 minute 56 seconds long, and that call brings back "01:56:00" (whereas it needs to be 00:01:56). How can I make this work? How can I tell sprintf to pad ...

Why weren't new (bit width specific) printf() format option strings adoped as part of C99?

While researching how to do cross-platform printf() format strings in C (that is, taking into account the number of bits I expect each integer argument to printf() should be) I ran across this section of the Wikipedia article on printf(). The article discusses non-standard options that can be passed to printf() format strings, such as (w...

What is c printf %f default precision?

I'm curious: If you do a printf("%f", number); what is the precision of the statement? I.e. How many decimal places will show up? Is this compiler dependent? ...

What's the difference between %c and %C in printf?

I can only find references for small c. I assume that the capital C is for Unicode, but I'm not sure. For lower numbers, both output the same character. ...

NSLog(...) improper format specifier affects other variables?

I recently wasted about half an hour tracking down this odd behavior in NSLog(...): NSString *text = @"abc"; long long num = 123; NSLog(@"num=%lld, text=%@",num,text); //(A) NSLog(@"num=%d, text=%@",num,text); //(B) Line (A) prints the expected "num=123, text=abc", but line (B) prints "num=123, text=(null)". Obviously, printing a lon...

write() to stdout and printf output not interleaved?

#include <stdio.h> #define MAXLEN 256 int main() { int n; char buf[MAXLEN]; while((n = read(0,buf,sizeof(buf))) != 0){ printf("n: %d:",n); write(1,buf,n); } return 1; } The output of the program is read read write write n: 5:n: 6: The output of printf comes after pressing Ctrl+D at the standard input and not alon...

How do you allow spaces to be entered using scanf?

Using the following code: char *name = malloc(sizeof(char) + 256); printf("What is your name? "); scanf("%s", name); printf("Hello %s. Nice to meet you.\n", name); A user can enter their name but when they enter a name with a space like Lucas Aardvark, scanf() just cuts off everything after Lucas. How do I make scanf() allow spaces...

What's the proper use of printf to display pointers padded with 0s

In C, I'd like to use printf to display pointers, and so that they line up properly, I'd like to pad them with 0s. My guess was that the proper way to do this was: printf("%016p", ptr); This works, but this gcc complains with the following message: warning: '0' flag used with ‘%p’ gnu_printf format I've googled a bit for it, and the...

Why does the following program not generate any visible output?

The following C program doesn't printing anything on the screen. I compiled the program with gcc: #include<stdio.h> main() { printf("hai"); for(;;); } ...

How can I Fix the float value in output in C language

I have output like this: 1569.3669 15968.3699 41.3878 587.5401 but I want the output like this: 01569.3669 15968.3699 00041.3878 00587.5401 How can I do this in the C language? ...