24小时热门版块排行榜    

查看: 624  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

kuangehaha

新虫 (初入文坛)

[求助] 求教,csv文件读取时,intel visual fortan把换行符line feed识别成空格?

我需要读取一个软件生成的csv文件,csv文件通过逗号分隔列,通过换行符line feed分隔行,我读取该文件,一次读一个字符串并且记录,读取到换行符时却显示读取的是空格。搞不明白了,求大神指点……

发自小木虫Android客户端
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kuangehaha

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by kuangehaha at 2016-01-10 12:04:05
以下是问题说明的代码;

program csvread
implicit none
integer :: i,j,k,error,n
character*1, parameter :: line_feed=achar(10)
character*1 :: s
open(unit=10,file='d:\1.csv')
    do i=1,5
       ...

 \"求教,csv文件读取时,intel
5楼2016-01-10 12:25:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

kuangehaha

新虫 (初入文坛)

以下是问题说明的代码;

program csvread
implicit none
integer :: i,j,k,error,n
character*1, parameter :: line_feed=achar(10)
character*1 :: s
open(unit=10,file='d:\1.csv')
    do i=1,5
        do j=1,5
            n=5*(i-1)+j
            write(unit=10,fmt='(i2)',advance='no') n
            if(j/=5) then
                write(unit=10,fmt='(a1)',advance='no') ','
            end if
        end do
        write(unit=10,fmt='(a1)',advance='no') line_feed
    end do
close(10)
open(unit=10,file='d:\1.csv',status='old')
k=0
do while(.true.)
    read(unit=10,fmt='(a1)',advance='no',iostat=error) s
    write(*,*) iachar(s),s
    if(s==line_feed) then
        k=k+1
    end if
!    if(error/=0) then
!        exit
!    end if
end do
write(*,*) k
close(10)
stop
end
2楼2016-01-10 12:04:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kuangehaha

新虫 (初入文坛)

红色框住的部分应该是ascii码为10,对应的是line feed;但读取出的是32,对应的是空格?
 \"求教,csv文件读取时,intel
求教,csv文件读取时,intel visual fortan把换行符line feed识别成空格?-2
6767.JPG

3楼2016-01-10 12:18:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kuangehaha

新虫 (初入文坛)

4楼2016-01-10 12:23:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见