Warning: Trying to access array offset on value of type null in /home/site/wwwroot/lib/plugins/move/action/rename.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at /home/site/wwwroot/lib/plugins/move/action/rename.php:42) in /home/site/wwwroot/inc/actions.php on line 38
concatenate_strings_in_input_file [topas wiki]

User Tools

Site Tools


concatenate_strings_in_input_file

Joining strings in an input file

You can concatanate strings in a text file to build up complex filenames etc using the following:

macro data_directory {c:\data\storage_directory\}
macro file_stem {dataname_}
macro run_number {0000}
macro suffix {.xy}
 
macro file_dets(data_directory, file_stem, run_number, suffix) 
{
               data_directory##file_stem##run_number##suffix
}
macro file
{
               file_dets(data_directory, file_stem, run_number, suffix) 
} 
 
file

which will expand to:

c:\data\storage_directory\dataname_0000.xy

The ## concatenation sequence is a c pre-processor construct and only concatenates macro arguments hence the double step.

Similarly you can e.g. change the name of an output .xy file with macros like:

macro lor { 1000 }
 
macro File_Out_(n)
{
	voigt##n##.xy	
}
 
Out_X_Ycalc(File_Out_(lor))
concatenate_strings_in_input_file.txt · Last modified: 2022/11/03 15:08 by 127.0.0.1