Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29253 ディスカッション

INDEX() function fails to recognise substring '.hds'

David_S_3
ビギナー
708件の閲覧回数

I am using the INDEX function to test whether a file name includes particular file extensions, e.g. '.exe' of '.lst'

I have discovered that the file extension '.hds' does not appear to be recognised.

i.e. when filein = 'name.hds'

the statement

       ipos = index(filein,'hds')

returns a value of 0.

For the case when filein = 'name.exe' or 'name.lst' the function correctly returns a value of 9.  When filein = 'name.xxx' a value of 0 is returned.

Do the substrings 'hds' and 'xxx' have some particular status?  How can this apparent anomaly be corrected?

    

character string

0 件の賞賛
4 返答(返信)
Arjen_Markus
名誉コントリビューター II
708件の閲覧回数

I am not aware of any special status for these strings. Could you post a complete example demonstrating this? As I have never seen anything like that, I suspect there is something else going on. A small program to reproduce the issue will help to unravel the mystery.

mecej4
名誉コントリビューター III
708件の閲覧回数

Commonly, in such cases the culprit is a non-printable character embedded in the string. For example, if there is such a character between '.h' and 'ds', the actual string is not the same as the printed version or as seen in a screen editor. Therefore, when you post your example code, be sure to provided the actual file as an attachment instead of pasting the code or text in the post itself.

David_S_3
ビギナー
708件の閲覧回数

The apparent problem turned out to be the result of a programming error on my part which was revealed in the process of creating a small demonstration program.

Arjen_Markus
名誉コントリビューター II
708件の閲覧回数

That is not at all uncommon ;). It happens to everyone.

返信