예제 #1
0
파일: testsort.c 프로젝트: Afaren/reference
main()
{
    int scores[MaxScores];
    int n;

    printf("Enter exam scores, one per line, ending\n");
    printf("with the sentinel value %d.\n", Sentinel);
    n = GetIntegerArray(scores, MaxScores, Sentinel);
    SortIntegerArray(scores, n);
    printf("\nThe sorted exam scores are:\n");
    PrintIntegerArray(scores, n);
}
예제 #2
0
bool
PDBFileObject::GetInteger(const char *name, int *val)
{
    bool retval = false;

    if(AutoOpen())
    {
        syment *ep;

        if((ep = PD_inquire_entry(pdb, (char *)name, 0, NULL)) != NULL)
        {
            debug4 << "PDBFileObject::GetInteger: var="<< name
                   << ", type=" << PD_entry_type(ep) << endl;

            if(strcmp(PD_entry_type(ep), "integer") == 0 ||
               strcmp(PD_entry_type(ep), "int") == 0)
            {
                //
                // Get the integer as an array in case there is more than 1
                // integer. This way, we don't clobber memory when we read
                // the integer if it happens to be an array of integers.
                //
                int *vals = 0, nvals = 0;
                if(GetIntegerArray(name, &vals, &nvals) && nvals > 0)
                {
                    *val = vals[0];
                    delete [] vals;
                    retval = true;
                }
            }
            else if(strcmp(PD_entry_type(ep), "short") == 0)
            {
                short tmp;
                retval = (PD_read(pdb, (char *)name, (void *)&tmp) ==  TRUE);
                if(retval)
                    *val = (short)tmp;
            }
            else if(strcmp(PD_entry_type(ep), "long") == 0)
            {
                long tmp;
                retval = (PD_read(pdb, (char *)name, (void *)&tmp) ==  TRUE);
                if(retval)
                    *val = (int)tmp;
            }
        }
    }

    return retval;
}