Skip to main content

PCMSGetSegment

Syntax

int PCMSGetSegment(Trip trip, int segNum, struct segmentStruct *aSegment)

Parameters

  • Trip trip – Handle to a trip.

  • int segNum – Index of the segment to be pulled from a Detailed Report. If the segNum equals -1, then segments for the next trip leg are returned, else lines for the segNum are returned.

  • struct segmentStruct *aSegment – The structure used to parse the segment data.

    struct segmentStruct
    {
        char stateAbbrev[2];
        BOOL toll;
        char dir[2];
        char route[32];
        int miles;
        int minutes;
        char interchange[32];
    };
    

Description

Gets a report segment, which is a single line from a Detailed Report.

Return Values

Standard Returns

Sample Code

NewSection("PCMSGetSegment, PCMSGetNumSegments");
int nSegments = PCMSGetNumSegments(trip);
if (TestErr(nSegments > 0, "PCMSGetNumSegments"))
{
    Log_Pcmstest("%-*s%-*s%-*s%-*s%-*s%-*s%-*s",
                6, "State",
                5, "Toll",
                4, "Dir",
                33, "Route",
                8, "Miles",
                8, "Min",
                33, "Interchange");

    for (int iSegment = 0; iSegment < nSegments; ++iSegment)
    {
        segmentStruct seg;
        memset(&seg, 0, sizeof(segmentStruct));

        ret = PCMSGetSegment(trip, iSegment, &seg);
        if (TestErr(ret > 0, "PCMSGetSegment"))
        {
            Log_Pcmstest("%-*s%-*d%-*s%-*s%-*f%-*d%-*s",
                        6, std::string(seg.stateAbbrev, 2).c_str(),
                        5, seg.toll,
                        4, std::string(seg.dir, 1).c_str(),
                        33, seg.route,
                        8, seg.miles/10.0f,
                        8, seg.minutes,
                        3, seg.interchange);
        }
    }
}

Supported Since: PC*Miler Connect 15

Category: Trip Reports

Last updated July 8, 2025.