l**********n 发帖数: 8443 | 1 why?
I am reading a binary file from a sftp resource.
while (!feof($file)) {
$content = fread($file, 1024 * 10);
$bytes_read = strlen($content);
if($bytes_read == 0) break;
print_r("read bytes: ".$bytes_read."n");
fwrite($newfile, $content, 1024 * 10);
}
if I leave out the $bytes_read, it becomes an infinite loop. |
|
|
|
x******a 发帖数: 6336 | 4 I got thousands problems on the following piece of code "dumpfile.h" when I
compile under cygwin. it is ok under visual stduio... can anyone help?
Thanks!
#include
#include
#include //ostream_iterator
#include //cerr
#include //std::copy
template
void dump_to_file(const char* filename, const std::vector& v_d){
std::ofstream ofs(filename);
if(!ofs){
std::cerr<<"Unable to open the file to write!n";
return ;... 阅读全帖 |
|
c***2 发帖数: 838 | 5 Very simple:
int table[256];
fp=fopen(filename, "r");
if (!fp) exit(0);
while(!feof(fp)){
table[(char)getc(fp)]++;
}
fclose(fp);
for(i=0;i<256;i++)
if(table[i]
printf("%c",(char)i); |
|
n*******k 发帖数: 100 | 6 就老老实实的取2个文件f1,f2(比如整数)的头元素放在变量v1,v2里面,较小的值
写入磁盘结果文件,(判断读完与否,feof() )
while(f1未读完且f2也未读完)
如果v1 <= v2, fwrite(&v1,4Byte,1,res_file),从f1读取下一个数;
否则fwrite(&v2,4Byte,1,res_file),从f2读取下一个数。
if (f1读完,f2没被读完)
flush f2剩余元素进入res_file
if (f2读完,f1没被读完)
flush f1剩余元素进入res_file
这样不就行了吗?
fread/fwrite可以利用文件缓冲区。如果自己想偷懒,不想切文件,定义和管理文件缓
冲区,直
接这样用就可以了。出来的文件就是globally sorted。 |
|
h******g 发帖数: 11250 | 7 我一般都前面加一个输入,要求知道行数
如果不知道行数
土办法,不知道是否可行
while (feof(fid)~=1)
dlmread (i,....)
i=i+1 |
|
b****k 发帖数: 10 | 8 while (!feof(input)) c=fgetc(input); |
|
g*****u 发帖数: 298 | 9 long size;
fseek (f, 0, SEEK_END );
size = ftell(f);
在windows下用VC编译,加入了编译选项-D_FILE_OFFSET_BITS=64, 可是超过2G的文件
得不到正确大小。应该怎么写?
那些带64的函数版本是POSIX C标准里的么?VC的C库没有。在GNU C下,是不是编译的
时候加入大文件选项,fseek就是fseek64?
还有,我用循环每次读一个字符
while( !feof(f) )
{
ch = fgetc(f);
count++;
}
最后count的结果比用上面fseek的出来的结果小,不同结果小的不一样,有的差2,有
的差十好几,这是怎么回事? |
|
m****r 发帖数: 6639 | 10 我的code大概是这样:
FILE *pipe = _popen(cmd.toChars(), "r");
while (!feof(pipe)) {
fgets(s, l, pipe);
// do stuff
}
当我用gcc compile,然后run,fine。
在整个program里面,用vc6。0 compile,当service run,就不行了。
这个应该怎么做?
谢谢 |
|
p*******9 发帖数: 801 | 11 while ~feof(fid)
tline = fgetl(fid);
fprintf(fid_tmp, '%s\n', tline);
end
fclose(fid_tmp);
fclose(fid);
finalfile = csvread('temp.csv');
好像还是不工作 |
|
p*******9 发帖数: 801 | 12 while ~feof(fid)
tline = fgetl(fid);
fprintf(fid_tmp, '%s\n', tline);
end
fclose(fid_tmp);
fclose(fid);
finalfile = csvread('temp.csv');
好像还是不工作 |
|
p*******9 发帖数: 801 | 13 while ~feof(fid)
tline = fgetl(fid);
fprintf(fid_tmp, '%s\n', tline);
end
fclose(fid_tmp);
fclose(fid);
finalfile = csvread('temp.csv');
好像还是不工作 |
|
p*******9 发帖数: 801 | 14 while ~feof(fid)
tline = fgetl(fid);
fprintf(fid_tmp, '%s\n', tline);
end
fclose(fid_tmp);
fclose(fid);
finalfile = csvread('temp.csv');
好像还是不工作 |
|
b***J 发帖数: 40 | 15 有谁用过这个,api太少,我想作feof, fseek, ftell怎么办? |
|
y***i 发帖数: 11639 | 16 刚开始接触matlab
有几个mat file不知道里面存的是什么
想用这种方法写成txt file 然后看内容是什么:
a = fopen('d.mat', 'r')
b = fopen('d.txt', 'w')
while ~feof(a)
tline = fgetl(a);
fprintf(b,'%s\n',tline);
end
fclose(a)
fclose(b)
结果把原来的二进制文件重写了一遍。
怎么才能把mat文件转换成正常的txt文件呢? |
|