Sponsored Content
Full Discussion: printf and imaxdif_t
Top Forums Programming printf and imaxdif_t Post 302085419 by jim mcnamara on Thursday 17th of August 2006 07:24:49 AM
Old 08-17-2006
imaxdiv is the same function (idea) as div - it just uses the largest possible integer on the platform. Use lldiv if this function gives you heartburn.

You don't print the result struct, you print either the remainder or the quotient.
imaxdiv_t is platform specific - it returns the largest available integer on your platform, and that is what gcc is complaining about, because it is not necessarily long long. If sizeof says quot is a long long on your platform, then just cast. I'm thinking it may not be.

The idea behind imaxdiv was to provide a "portable largest possible integer range implementation of div for any platform." It is part of C99.

Last edited by jim mcnamara; 08-17-2006 at 10:40 AM..
 

10 More Discussions You Might Find Interesting

1. Programming

printf

What is the output of the following program considering an x86 based parameter passing sequence where stack grows towards lower memory addresses and that arguments are evaluated from right to left: int i=10; int f1() { static int i = 15; printf("f1:%d ", i); return i--; } main() {... (2 Replies)
Discussion started by: arunviswanath
2 Replies

2. Shell Programming and Scripting

printf

How to print output in following format? A..................ok AA................ok AAA..............ok AAAAAA........ok "ok" one under one (4 Replies)
Discussion started by: mirusnet
4 Replies

3. UNIX for Dummies Questions & Answers

Need help with printf

Hi, I have just completed my first script (:D) and now i just need to format it with printf. This is what I have: #!/bin/ksh TOTB=0 TOTF=0 TOTI=0 HOST=`hostname` echo " FSYSTEM BLKS FREE INUSE MOUNTEDON" df -m | grep -v ":"|grep -v Free|grep -v "/proc"| while read FSYSTEM... (2 Replies)
Discussion started by: compan023
2 Replies

4. Shell Programming and Scripting

Printf problem

I am having a major problem with printf, The more I pad it, the less I see :( The problem is in the first function, report Am I ruining output somewhere? I wont print out the names propely, it cuts them off or deletes them completely :( #!/bin/bash report() { printf "%-10s" STUD# ... (2 Replies)
Discussion started by: L0ckz0r
2 Replies

5. Programming

working of printf()

hello all, i came accross an aptitude question .. int main() { int a = 10, b = 20, c = 30; printf("%d\t%d\t%d"); } it gives output 30 20 10 what is the reason of such behaviour of printf(). thank you. (7 Replies)
Discussion started by: zius_oram
7 Replies

6. UNIX for Dummies Questions & Answers

printf when used for different processes

I am playing with function fork() (creating few processes)and trying to put some output (with process id,child id and so on) to the shell and sometimes i get output for 2 proccesses mixed up on same line. sometimes I would get something like this... myShell$ ./a.out proccess1 ... (2 Replies)
Discussion started by: joker40
2 Replies

7. Shell Programming and Scripting

find + printf help

Hi, I have a scripting assignment for an intro to linux class and I'm really confused about how to do something seemingly simple. I am supposed to Print the name of each file in the /data/dir16/subdir1 directory in the following format: "My name is: bin" The desired output example looks like:... (1 Reply)
Discussion started by: danschmidt
1 Replies

8. UNIX for Dummies Questions & Answers

Qsub and printf

Hello, I have some issue with qsub and the standard output : I launch a script that "echoes" the string "abc" and then executes a C program in which I print informations with the printf function ; the .o file contains "abc" but not the information displayed by printf. I also tried... (0 Replies)
Discussion started by: Shaderw
0 Replies

9. Shell Programming and Scripting

Printf statement

The printf statement pay_amount=$(printf "%013.3f" "$4") working perfectly at one path(xxx/home/rsh) and showing error (printf: 216.000: invalid number) at another path(/opt/xxxx/xxxx). what will be the reason? thanks in advance (4 Replies)
Discussion started by: reeta_shri
4 Replies

10. Programming

printf quirk

Hi, Could anyone explain me the logic behind the following program's output? int main() { printf("%d\n", printf("%d %d", 2, 2) & printf("%d %d", 2, 2)); printf("%d\n", printf("%d %d\n", 2, 2) & printf("%d %d\n", 2, 2)); } Ans: 2 22 23 2 2 2 2 4 (2 Replies)
Discussion started by: royalibrahim
2 Replies
DIV(3)							     Linux Programmer's Manual							    DIV(3)

NAME
div, ldiv, lldiv, imaxdiv - compute quotient and remainder of an integer division SYNOPSIS
#include <stdlib.h> div_t div(int numerator, int denominator); ldiv_t ldiv(long numerator, long denominator); lldiv_t lldiv(long long numerator, long long denominator); #include <inttypes.h> imaxdiv_t imaxdiv(intmax_t numerator, intmax_t denominator); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): lldiv(): _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L; or cc -std=c99 DESCRIPTION
The div() function computes the value numerator/denominator and returns the quotient and remainder in a structure named div_t that contains two integer members (in unspecified order) named quot and rem. The quotient is rounded toward zero. The result satisfies quot*denomina- tor+rem = numerator. The ldiv(), lldiv(), and imaxdiv() functions do the same, dividing numbers of the indicated type and returning the result in a structure of the indicated name, in all cases with fields quot and rem of the same type as the function arguments. RETURN VALUE
The div_t (etc.) structure. ATTRIBUTES
Multithreading (see pthreads(7)) The div(), ldiv(), lldiv(), and imaxdiv() functions are thread-safe. CONFORMING TO
SVr4, 4.3BSD, C89. C99. The functions lldiv() and imaxdiv() were added in C99. EXAMPLE
After div_t q = div(-5, 3); the values q.quot and q.rem are -1 and -2, respectively. SEE ALSO
abs(3), remainder(3) COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. 2013-07-05 DIV(3)
All times are GMT -4. The time now is 06:41 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy