I have a set of values to written into a text file.
Suppose I have a field value of size 10 but the field size is fixed as 20, so when the next field comes, it should be inserted at position 21, filling the remainig 10 spaces of the first field with 开发者_如何学Goempty spaces.
Can anyone please let me know how this is done?
The function strLfix
would be the most likely fix. A similar function strRfix
right aligns the text to a specified lenght.
Also remember to set the output field delimiter to the empty string. The default of one blank space is not relevant here.
static void TextIoTest(Args _args)
{
TextIo f = new TextIo(@"C:\Temp\test.txt", 'w');
;
f.outFieldDelimiter('');
f.outRecordDelimiter('\r\n');
f.write( strLfix("abc",20), '|', strRfix("xyz",15), '|', 117);
f.writeExp([strLfix("abc",20), '|', strRfix("xyz",15), '|', 117]);
f.write(); // To force CR NL
}
The job opens the file for writing (truncates existing file or creates a new file), set the field and record delimiters, then writes the same line twice (using two different calls). The last call to write
appends the record delimiter, this may or may not be important depending on the receiver.
You can use strrep
, substr
, and strpoke
, please find an example in \Classes\VendOutPaymRecord_UK_BACS\output
.
精彩评论