标签: fopen

C fopen vs open

您是否有任何理由(语法除外)

FILE *fdopen(int fd, const char *mode);
Run Code Online (Sandbox Code Playgroud)

要么

FILE *fopen(const char *path, const char *mode);
Run Code Online (Sandbox Code Playgroud)

代替

int open(const char *pathname, int flags, mode_t mode);
Run Code Online (Sandbox Code Playgroud)

在Linux环境中使用C时?

c unix linux file-io fopen

201
推荐指数
8
解决办法
16万
查看次数

PHP - 无法打开流:没有这样的文件或目录

在PHP脚本,调用是否include(),require(),fopen(),或它们的衍生物,例如include_once,require_once或者甚至move_uploaded_file(),一个经常遇到错误或警告:

无法打开流:没有这样的文件或目录.

快速找到问题根本原因的好过程是什么?

php fopen require include-path

148
推荐指数
4
解决办法
37万
查看次数

在PHP中用文件写一个新行

我的代码:

$i = 0;
$file = fopen('ids.txt', 'w');
foreach ($gemList as $gem)
{
    fwrite($file, $gem->getAttribute('id') . '\n');
    $gemIDs[$i] = $gem->getAttribute('id');
    $i++;
}
fclose($file);
Run Code Online (Sandbox Code Playgroud)

出于某种原因,它是\n作为字符串写的,所以文件看起来像这样:

40119\n40122\n40120\n42155\n36925\n45881\n42145\n45880
Run Code Online (Sandbox Code Playgroud)

从Google开始它告诉我使用\r\n,但是\r回车似乎不是我想做的.我只是希望文件看起来像这样:

40119
40122
40120
42155
36925
45881
42145
45880
Run Code Online (Sandbox Code Playgroud)

谢谢.

php fopen newline fwrite linefeed

101
推荐指数
4
解决办法
29万
查看次数

fopen弃用警告

Visual Studio 2005 C++编译器上,当我的代码使用fopen和此类调用时,我收到以下警告.

1>foo.cpp(5) : warning C4996: 'fopen' was declared deprecated
1>        c:\program files\microsoft visual studio 8\vc\include\stdio.h(234) : see declaration of 'fopen'
1>        Message: 'This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
Run Code Online (Sandbox Code Playgroud)

我该如何防止这种情况?

fopen deprecated visual-c++

66
推荐指数
5
解决办法
16万
查看次数

如果我不在C程序中调用fclose()会发生什么?

首先,我知道用fopen()打开一个文件而不关闭它是非常不负责任和糟糕的形式.这只是纯粹的好奇心,所以请幽默我:)

我知道如果一个C程序打开一堆文件并且从不关闭它们中的任何一个,最终fopen()将开始失败.是否还有其他可能导致代码本身问题的副作用?例如,如果我有一个程序打开一个文件,然后退出而不关闭它,是否会导致运行该程序的人出现问题?这样的程序会泄漏任何内容(内存,文件句柄)吗?程序完成后,再次访问该文件会有问题吗?如果该程序连续多次运行会发生什么?

c file-io fopen fclose

57
推荐指数
4
解决办法
3万
查看次数

PHP中的fopen模式"r +"和"rw +"有什么区别?

Stack Overflow中的许多答案都在使用fopen($file, "rw+"),但是手册没有列出"rw+"模式,只有"r+"模式(或"w+"模式).

所以我想知道,什么是"rw+"模式呢?fopen($file, "rw+"或者有"r+"什么区别?我问这个是因为没有关于该"rw+"模式的文档.

一种方法是考虑所述模式为添加剂,但我找不到在结合模式的任何提及fopen手册页(此外,什么是相结合的意义"r""w+",如果"w+"已经使其可读?).但最重要的是,w+模式截断文件,rw+而不截断它(因此,它们不能是加法的).rw+尽管Stack Overflow用户使用它,但可能没有模式.也许它有效,因为解析器忽略了"w"字母,因为rw+模式似乎是=== r+

澄清我的问题:什么是"rw+"模式,即它与其他模式有何不同?我只在评论中收到两个答案:要么我应该检查文档(我已经检查并重新检查)和一个错误的答案,它说它等于"w+"(它不是)."w+"截断文件,而"rw+"不是.

这是一个用于测试的脚本(它证明w+截断文件,但rw+没有):

<?php 
$file = "somefile"; 
$fileOpened = fopen($file, "w"); 
fwrite($fileOpened, "0000000000000000000"); 
fclose($fileOpened);  

$fileOpened = fopen($file, "rw+"); 
fwrite($fileOpened, …
Run Code Online (Sandbox Code Playgroud)

php fopen

57
推荐指数
1
解决办法
1784
查看次数

从经常更新的文件中读取

我目前正在Linux系统上用python编写程序.目标是在找到特定字符串时读取日志文件并执行bash命令.日志文件由另一个程序不断写入.我的问题是:

如果我使用open()方法打开文件,我的Python文件对象会在实际文件被其他程序写入时更新,还是我必须按时间间隔重新打开文件?

谢谢

吉姆

更新:到目前为止,感谢您的答案.我或许应该提到该文件是由Java EE应用程序编写的,因此我无法控制何时将数据写入其中.我目前有一个程序每隔10秒重新打开一次该文件,并尝试从它上次读取的文件中的字节位置读取.目前它只打印出返回的字符串.我希望文件不需要重新打开,但是read命令可以以某种方式访问​​Java应用程序写入文件的数据.

#!/usr/bin/python
import time

fileBytePos = 0
while True:
    inFile = open('./server.log','r')
    inFile.seek(fileBytePos)
    data = inFile.read()
    print data
    fileBytePos = inFile.tell()
    print fileBytePos
    inFile.close()
    time.sleep(10)
Run Code Online (Sandbox Code Playgroud)

感谢pyinotify和发电机的提示.我打算看看这些更好的解决方案.

python file-io fopen

49
推荐指数
3
解决办法
5万
查看次数

fopen()中r +和w +之间的差异

fopen("myfile", "r+")什么之间的区别"r+""w+"开放模式?我看了这个:

"r" 打开文本文件进行阅读.
"w"打开文本文件以进行写入,将现有文件截断为零长度,或者创建文件(如果该文件不存在).

"r+"打开文本文件进行更新(即读取和写入).
"w+"打开文本文件以进行更新(读取和写入),首先将文件截断为零长度(如果存在)或创建文件(如果文件不存在).

我的意思是不同的是,如果我打开文件"w+",文件将被删除?

c fopen

48
推荐指数
5
解决办法
12万
查看次数

如果文件不存在,则创建一个文件 - C.

我希望我的程序打开一个文件,如果它存在,或者创建该文件.我正在尝试以下代码,但我在freopen.c上得到一个调试断言.我会不会更好地使用fclose然后立即fopen?

FILE *fptr;
    fptr = fopen("scores.dat", "rb+");
    if(fptr == NULL) //if file does not exist, create it
    {
        freopen("scores.dat", "wb", fptr);
    } 
Run Code Online (Sandbox Code Playgroud)

c fopen fclose freopen

41
推荐指数
2
解决办法
20万
查看次数

PHP:fopen创建文件夹

如果路径不存在,我需要知道是否有任何方法可以创建新文件夹.当我尝试fopen()一个路径时,它说NO such File or Directory exists我尝试使用'w'和'w +'打开文件但是它无法创建新文件夹.有没有办法实现它而不使用mkdir().因为我需要每次从mkdir()的路径中单独提取目录名称.任何帮助表示赞赏.谢谢...

php directory fopen

31
推荐指数
2
解决办法
3万
查看次数