- 论坛徽章:
- 0
|
原帖由 xman1101 于 2009-6-12 01:09 发表 ![]()
一个进程中打开的文件,如果在中间对这个文件unlink或者remove后,文件内容应该还在吧,在进程结束前是不是还可以正常的去读写这个文件呢
应该是这样的,我把文件删除了,再fwrite fread都可以,代码如下:
- int main()
- {
- int i;
- int j;
- FILE *fp = NULL;
- char str[256];
- char str1[256];
- double a;
- strncpy( str, "111111111111111111111234.5678", 256 );
-
- memset( str1, 0, 256 );
- j = 0;
- while( j<1 )
- {
- i = -1;
- fp = fopen( "test.dat", "wb+" );
- if( fp==NULL )
- {
- printf("NULL fp j=%d!\n", j);
- return -1;
- }
- //文件已经删除
- remove( "test.dat" );
- //后面这些操作仍然可以
- i = fwrite( str, strlen(str), 1, fp );
- fseek( fp, 0, SEEK_SET );
- i = fread( str1, strlen(str), 1, fp );
-
- fclose(fp);
- fp = NULL;
- printf( "j=%d i=%d \nstr=%s\nstr1=%s\n", j, i, str, str1 );
- j++;
- }
- return 1;
- }
复制代码 |
|