libsim Versione 7.1.11

◆ csv_record_init()

subroutine csv_record_init ( type(csv_record), intent(inout)  this,
character(len=*), intent(in), optional  record,
character(len=1), intent(in), optional  csep,
character(len=1), intent(in), optional  cquote,
integer, intent(out), optional  nfield 
)

Initialise a csv_record object.

If the record is provided in input, the object is used for decoding a record read from a file (csv_record_getfield methods), if record is not provided, then the object will be used for coding a csv record (csv_record_addfield methods), for the successive write on file. It is possible to specify nonstandard characters for delimiting and grouping fields, default comma (,) and double quote ("). In case of decoding, it is possible to obtain in output the number of fields in the record, but this will take extra computing time. As an alternative, the ::csv_record_end method can be used when extracting each field. Warning: the \a csv_record class does not handle csv records that extend on different lines. @param [in,out] this object to be initialised @param [in] record csv record to be interpreted, if not provided, it means we want to code a csv record for output @param [in] csep field separator character, default \c , (comma) @param [in] cquote field grouping character, default \c " (double quote); it is usually used when a field contains comma or blanks

Parametri
[out]nfieldnumber of fields in the record

Definizione alla linea 493 del file file_utilities.F90.

494REAL,INTENT(IN) :: field
495CHARACTER(len=*),INTENT(in),OPTIONAL :: form
496LOGICAL, INTENT(in), OPTIONAL :: force_quote
497
498IF (PRESENT(form)) THEN
499 CALL csv_record_addfield(this, trim(to_char(field, form)), force_quote=force_quote)
500ELSE
501 CALL csv_record_addfield(this, t2c(field), force_quote=force_quote)
502ENDIF
503
504END SUBROUTINE csv_record_addfield_real
505
506
510SUBROUTINE csv_record_addfield_real_miss(this, field, force_quote)
511TYPE(csv_record),INTENT(INOUT) :: this
512REAL,INTENT(IN) :: field
513LOGICAL, INTENT(in), OPTIONAL :: force_quote
514
515CALL csv_record_addfield(this, t2c(field, ''), force_quote=force_quote)
516
517END SUBROUTINE csv_record_addfield_real_miss
518
519
522SUBROUTINE csv_record_addfield_double(this, field, form, force_quote)
523TYPE(csv_record),INTENT(INOUT) :: this
524DOUBLE PRECISION,INTENT(IN) :: field
525CHARACTER(len=*),INTENT(in),OPTIONAL :: form
526LOGICAL, INTENT(in), OPTIONAL :: force_quote
527
528IF (PRESENT(form)) THEN
529 CALL csv_record_addfield(this, trim(to_char(field, form)), force_quote=force_quote)
530ELSE
531 CALL csv_record_addfield(this, t2c(field), force_quote=force_quote)

Generated with Doxygen.