home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cenvi23.zip / STRUCT.LIB < prev    next >
Text File  |  1995-03-07  |  1KB  |  32 lines

  1. // Struct.lib - Some useful CEnvi routines for working with structures
  2. // ver.1
  3. //
  4. //**** InitStructArray() - Initialize structure array
  5. // SYNTAX: struct[] InitStructArray(string Member1,string Member2,...,string MemberN,NULL,
  6. //                                  Data01,Data02,...,Data0N,
  7. //                                  Data11,Data12,...,Data1N,...,
  8. //                                  DataX1,DataX22,...,DataXN)
  9. // WHERE: Member?: the structure members for this structure, names end in NULL
  10. //        Dataxx: the elements of each structure data
  11. // RETURN: Returns array of all the elements in a structure
  12. // EXAMPLE: Dinner = InitStructArray( "Name", "Entree", "Drink", "Price", NULL,
  13. //                                    "Paul", "Lasagna", "Orange Juice", 8.95,
  14. //                                    "Ann", "Chile Relleno", "Cola", 6.67,
  15. //                                    "Fido", "Bone", "Toilet water", 0.07 );
  16. //
  17. //
  18.  
  19. InitStructArray(/*lots of possible arguments*/)
  20. {
  21.    lTotalArgCount = va_arg();
  22.    // determine how many structure members
  23.    for ( lMemberCount = 0; va_arg(lMemberCount); lMemberCount++ ) ;
  24.    // fill in each member
  25.    for ( lIdx = 0, lArg = lMemberCount + 1; lArg < lTotalArgCount; lIdx++ ) {
  26.       for ( lMemberIdx = 0; lMemberIdx < lMemberCount; lMemberIdx++, lArg++ )
  27.          StructureMember(lArray[lIdx],va_arg(lMemberIdx)) = va_arg(lArg);
  28.    }
  29.    return lArray;
  30. }
  31.  
  32.