簡體   English   中英

簡單的fopen和fprintf無法正常工作

[英]Simple fopen and fprintf not working

我有一個簡單的程序,可以打開文件並將文本寫入文件。 但是,fopen總是返回BadPtr如在Microsoft Visual c++, 2010中的調試模式下所見。

以下是VS C++, 2010顯示的警告:

mysample\mysample\main.c(6): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(234) : see declaration of 'fopen'

我認為警告是一個問題,並使用了fopen_s ,但這也不能解決問題。 下面是我的代碼:

#include <stdio.h>

int main()
{
    FILE *fp;
    fp=fopen("c:\\hello.txt","w+");

    if(fp==NULL)
    {
        printf("\nfopen() error\n");
        return 1;
    }
    else
    {
        fprintf(fp,"\nThis is a sample text file\n");
    }

    fclose(fp);
    return 0;
}

在上面的代碼中,流沒有進入if(fp == NULL)條件,而是進入else部分,但是沒有創建文件。

請幫助有關。

如果您沒有管理員權限

在編譯目錄中創建文件

fp=fopen("hello.txt","w+");

這將在mysample\\mysample創建文件

您應該具有管理員權限,才能在C:\\創建文件


如果您具有管理員特權,請打開命令“以管理員身份運行”,然后通過僅給出名稱來執行可執行文件。

如果使用文件名fopen.c ,則將得到fopen.exe

只需在命令提示符下運行fopen ,它將在C:\\創建文件

您的代碼可以工作,但是如果要在C:\\創建文件,則需要管理權限,請嘗試將文件保存在程序的同一文件目錄中,或者運行Administrator cmd並在其中執行*.exe

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM