-4

要读取/写入文件,我需要在 Unix 环境中使用 C 语言的文件指针。我知道文件名和路径,但是如何使用文件名和路径获取文件指针。

4

4 回答 4

3
#include <stdio.h>
FILE * pFile;
pFile = fopen ("myfile.txt","w");
于 2013-08-26T08:43:05.790 回答
1

像这样导入标准输入/输出标头

#include <stdio.h>

然后为要打开的文件创建一个指针。

FILE * file_pointer;
file_pointer = fopen ("[path to file]","w");
fclose(file_pointer);

注意:如果文件与源文件不在同一目录中,请指定文件的完整路径。完成所需操作后不要忘记关闭文件

于 2013-08-26T09:34:09.537 回答
0

好像你是C编程新手,我给你写了一个C程序,你可以分析一下,相信一定对你有帮助。

#define size 50
#include <stdio.h> 
int main() 
{ 
    char name[size]; 
    FILE *file;
    file = fopen("your_file.txt","w");
    printf("Please enter your first name\n");
    scanf("%s",name);
    fprintf(file,"%s",name);
    fclose(file); 
    return 0; 
}

细节:

  • 在第 7 行,第二个参数w用作文件打开模式 - 具有写入权限。
  • 文件指针用于创建/打开一个名为“ your_file.txt ”的文件。
  • 功能与功能fprintf()相同,printf()但它不是在控制台上而是在您的文件中写入。
  • 最后我们需要关闭文件写入操作因此我们使用fclose()函数

更新:

要指定您的路径,您可以使用 filename.fileextension 编写文件路径,例如:您可以将其写为

file = fopen("/home/depthgr8/Desktop/your_file.txt","w"); 

如果您的路径存在,这将在给定路径中创建 your_file.txt ,否则它将引发运行时异常 - 分段错误(核心转储)

于 2013-08-26T10:01:35.283 回答
0

根据 ssmithstone 的帖子:

#include <stdio.h>
FILE * pFile;
/* open file and check if was successful */ 
if ((pFile = fopen("myfile.txt", "w")) == NULL)
{
/* couldn't open file; do some error handling if u want */
}
else
{
/* do s.th. */
/* close file */
fclose(pFile);
}

在这种情况下w意味着写作。有关其他选项,请查看 Yu Hao 发布的链接。

于 2013-08-26T08:51:06.043 回答