is there a size limit for fprintf? I have a code that writes out large text files with one fprintf command, and if the file gets above about 1 Gb, fprintf will not write it out. The size seems to be about 1E9 characters, but I was interested to know the exact number and could not find that number in any documentation.

2 件のコメント

Friedrich
Friedrich 2013 年 4 月 22 日
編集済み: Friedrich 2013 年 4 月 22 日
Mhh, never heard of any limit. What exactly is happening? Do you get any error or warning? What does your file "pointer" tells you as position? How does you fprintf call look exactly?
the cyclist
the cyclist 2013 年 4 月 22 日
I see the same behavior [R2013a on Mac running OS X 10.8.3]. The nbytes output is zero, indicating that the command wrote 0 bytes, but there is no error or warning message.
I did a cursory search, and did not find any documentation of this limit.

サインインしてコメントする。

 採用された回答

Jan
Jan 2013 年 4 月 22 日
編集済み: Jan 2016 年 4 月 24 日

4 投票

1 GB file size means 1e9 characters, which are 2e9 bytes. This sounds like a 32 bit limit, so please test, if the limit is at 1073741824 characters. If so, the underlying C-function is the cause of the limit.
There have been further limitations of Matlab string functions, when the data contain CHAR(0) in several releases. Even printing a cell string stopped, when one of the elements contained no data, but this has been fixed in R2006a as far as I remember.

2 件のコメント

Carl Pray
Carl Pray 2013 年 4 月 22 日
Yes, it appears this is the limit. If I write the first 1073741823 characters, it writes out fine. If I write 1073741824 characters, it does not write out anything. Thanks.
Sergio Grion
Sergio Grion 2015 年 9 月 11 日
I can confirm that this limit still exists in R2015a

サインインしてコメントする。

その他の回答 (1 件)

Richard Laukaitis
Richard Laukaitis 2016 年 4 月 19 日

0 投票

use fflush to clear the buffer. The buffer size is being limited.

カテゴリ

タグ

質問済み:

2013 年 4 月 22 日

編集済み:

Jan
2016 年 4 月 24 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by