fortran - 在制表符处分割线

标签 fortran delimiter

我想在制表符处分割一行并将逗号读取为字符。我尝试遵循此类解决方案,使用包含“\t”或“”的 pos 变量,但它返回 0,因此它找不到任何选项卡。哪个可能是正确的解决方案?

INTEGER :: i, dots, commas, A, T, C, G, InDel, M, Z, L, s, sf, numsize, InDelSlide, pos, base, cov
CHARACTER(len=1) :: ref
CHARACTER(len=10000) :: arg, seq, qual
CHARACTER(len=1024) :: buffer
CHARACTER(len=6) :: num
CHARACTER(len=5) chr

READ(5,'(A)') buffer
PRINT *, buffer
pos = INDEX(buffer, "   ")
arg = buffer(1:pos-1)
READ(buffer(pos+1:), *) chr, base, ref, cov, seq, qual

最佳答案

Fotran 中的制表符就是 achar(9)。使用

pos = INDEX(buffer, achar(9))

achar() 函数返回一个带有您传递给它的 ASCII 值的字符。

关于fortran - 在制表符处分割线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40888582/

相关文章:

matlab - 使用 MATLAB 的绘图功能作为 Fortran 程序的交互部分

dynamic - FORTRAN 动态分配派生类型

c++ - float 学精度,c++ vs fortran

Java Scanner useDelimiter 意外结果

java - 如何从 Java 中的 txt 文件读取 2 个特定列?

python - 拆分字符串而不删除分隔符,但抑制空捕获组

r - 如何在R中以制表符分隔的分隔文件的标题之前跳过多余的行

c - C 中是否有类似于 Fortran 中的子例程?

fortran - 意图(输出)和可分配的 Fortran 数组 : what is really done?

c - Ansi C - 删除换行符并将其更改为空格