Differences

This shows you the differences between two versions of the page.

Link to this comparison view

concatenate_strings_in_input_file [2011/06/16 17:51]
johnsoevans
concatenate_strings_in_input_file [2020/07/16 11:29]
Line 1: Line 1:
-====== Joining strings in an input file ====== 
  
-You can concatanate strings in a text file to build up complex filenames etc using the following: 
- 
-<code topas>​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</​code>​ 
- 
-which will expand to: 
- 
-<code topas>​c:​\data\storage_directory\dataname_0000.xy 
-</​code>​ 
-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: 
- 
-<code topas>​macro lor { 1000 } 
- 
-macro File_Out_(n) 
-{ 
- voigt##​n##​.xy  
-} 
- 
-Out_X_Ycalc(File_Out_(lor))</​code>​ 

Personal Tools