function
<cstdlib>

ldiv

ldiv_t ldiv (long int numer, long int denom);
Integral division
Returns the integral quotient and remainder of the division of numer by denom ( numer/denom ) as a structure of type ldiv_t, which has two members: quot and rem.

Parameters

numer
Numerator.
denom
Denominator.

Return Value

The result is returned by value in a ldiv_t structure, which has two members (in either order):
1
2
long int quot;   // quotient
long int rem;    // remainder 

Example

1
2
3
4
5
6
7
8
9
10
11
/* ldiv example */
#include <stdio.h>      /* printf */
#include <stdlib.h>     /* ldiv, ldiv_t */

int main ()
{
  ldiv_t ldivresult;
  ldivresult = ldiv (1000000L,132L);
  printf ("1000000 div 132 => %ld, remainder %ld.\n", ldivresult.quot, ldivresult.rem);
  return 0;
}

Output:

1000000 div 132 => 7575, remainder 100.


Data races

Concurrently calling this function is safe, causing no data races.

Exceptions (C++)

No-throw guarantee: this function throws no exceptions.

If either part of the result cannot be represented, it causes undefined behavior.

See also