3 回答

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
如何在fortran中讀寫文件時(shí)不換行?這是個(gè)極簡單又極復(fù)雜的問題,簡單到只要一個(gè)字符,復(fù)雜到翻破了好幾本語法書也沒找見。fortran中默認(rèn)一條read或者write結(jié)束之后就換一行,但是讀和寫還有些不太一樣。
讀文件時(shí),read之后如果寫了一個(gè)數(shù)組,就像這樣:
read(10,*)Y(1:n)
整整一行數(shù)就全都讀到數(shù)組里了。但是如果用write,寫到文件中卻不是這個(gè)樣子,會給你一個(gè)超級長的文件然后每行只有一個(gè)數(shù)。有一個(gè)選項(xiàng)叫ADVANCE='YES'/'NO',可以控制輸入輸出語句完了之后要不要換行,默認(rèn)是'YES',很不幸,在intel的fortran中這個(gè)選項(xiàng)只對read起作用,write依舊不行。
在fortran的輸入輸出中,"/"表示換行,那么"\"表示什么意思呢,就是“不換行”。這是我在網(wǎng)上逛了老半天才看到的,為了防止忘記,寫到博客里面,立此存照。
下面是一段fortran代碼樣例,要處理的數(shù)據(jù)20個(gè)數(shù)就會換一行,一般來講最后一行是不滿20個(gè)數(shù)的,需要用個(gè)同余判斷一下
添加回答
舉報(bào)