2016-11-30 3 views
1

Я хотел бы разделить строку на вкладке и прочитать запятые как символ. Я попытался выполнить такое решение, используя переменную pos, содержащую «\ t» или «», но возвращает 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 
+0

Вместо использования ** экранированного ** представления вкладки («\ t», которое я не уверен, что оно распознано в Fortran, вы можете просто использовать значение ASCII (десятичное число 9). – FDavidov

ответ

1

Значок табуляции в Fotran - это просто achar(9). Используйте

pos = INDEX(buffer, achar(9)) 

achar() функция возвращает символ со значением ASCII вы передаете к нему.

+0

Насколько я помните, что вкладка charcater - ACHAR (9). ACHAR (10) является символом «linefeed». –

+0

Увы, спасибо за исправление !!! –

Смежные вопросы