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?

Antworten (1)

per isakson
per isakson am 14 Sep. 2012

0 Stimmen

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

6 Kommentare

Tinkul
Tinkul am 14 Sep. 2012
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 am 14 Sep. 2012
The documentation does not mention an upper limit AFAIK. Try with a number, which you think is large enough.
Tinkul
Tinkul am 14 Sep. 2012
sorry, still it is not working.I have full of data in txt file.Then what may be the new size.
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 am 14 Sep. 2012
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 am 14 Sep. 2012
Bearbeitet: per isakson am 14 Sep. 2012
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 )

Melden Sie sich an, um zu kommentieren.

Kategorien

Gefragt:

am 14 Sep. 2012

Community Treasure Hunt

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

Start Hunting!

Translated by