Increasing Buffersize while importing data

I am importing data from txt file to matlab.But the programmme gives error:"Buffer overflow (bufsize = 4095) while reading string from" I am using textscan command in the programme.So buffer size should be increased.how?

回答 (1 件)

per isakson
per isakson 2012 年 9 月 14 日

0 投票

Hint:
textscan( ..., 'BufSize', new_size )
See the help.

6 件のコメント

Tinkul
Tinkul 2012 年 9 月 14 日
If new_size is not specifiedor i don't know the new sizeand the size is very big then what i have to write.....
per isakson
per isakson 2012 年 9 月 14 日
The documentation does not mention an upper limit AFAIK. Try with a number, which you think is large enough.
Tinkul
Tinkul 2012 年 9 月 14 日
sorry, still it is not working.I have full of data in txt file.Then what may be the new size.
per isakson
per isakson 2012 年 9 月 14 日
Try
textscan( ..., 'BufSize', new_size, 'ReturnOnError', false )
What message do you get? Next multiply new_size by ten. What message do you get? Next try
str = fileread( file_spec );
ix = strfind( str, char(10) );
mx = max( ix );
What is the value of mx?
Tinkul
Tinkul 2012 年 9 月 14 日
I m writing like that x=fopen('m.txt','r'); input_text=textscan(x,'%s','bufsize',10^999); A=input_text{1}; y=[A{:}] error: Error using ==> textscan Buffer size must be integer-valued.
Error in ==> mat_hex_dec at 5 input_text=textscan(x,'%s','bufsize',10^999);
per isakson
per isakson 2012 年 9 月 14 日
編集済み: per isakson 2012 年 9 月 14 日
Do you know how many disks you need to store a file of the size, 10^999 bytes? 10^999 is not exactly "multiply by ten".
How large is the file on disk? You do not need a buffer larger than the file!
Did you try
str = fileread( file_spec );
ix = strfind( str, char(10) );
mx = max( ix );
add
sz = size( str )

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

カテゴリ

ヘルプ センター および File ExchangeDates and Time についてさらに検索

タグ

質問済み:

2012 年 9 月 14 日

Community Treasure Hunt

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

Start Hunting!

Translated by