注册 登录
编程论坛 C++教室

为什么我的代码在vs2013中不能编译

醒山 发布于 2016-02-14 18:07, 3977 次点击
#include<stdio.h>
int my_cp(const char *src_file, const char *dest_file)
{
    FILE *in_file, *out_file;
    in_file = fopen(src_file, "rb");
    if (in_file == NULL)
    {
        return 1;
    }
    out_file = fopen(dest_file, "wb");
    if (out_file == NULL)
    {
        return 2;
    }
    char rec[256];
    size_t bytes_in, bytes_out;
    while ((bytes_in = fread(rec, 1, 256, in_file)) > 0)
    {
        bytes_out = fwrite(rec, 1, bytes_in, out_file);
        if (bytes_in != bytes_out)
        {
            return 3;
        }
    }
    fclose(in_file);
    fclose(out_file);
    return 0;
}
int main()
{
    int result;
    if (result = my_cp("d:\\temp\\1.txt", "\\temp\\2.txt") != 0)
    {
        switch (result)
        {
        case 1:
            printf("打开源文件出错!\n");
            break;
        case 2:
            printf("打开目标文件出错!\n");
            break;
        case 3:
            printf("拷贝文件出错!\n");
            break;
        default:
            printf("发生未知错误!\n");
            break;
        }
    };
    printf("ok!\n");
}错误    1    error 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.    c:\users\think\documents\visual studio 2013\projects\win32project1\win32project1\源.cpp    5    1    Win32Project1


[此贴子已经被作者于2016-2-14 20:09编辑过]

7 回复
#2
rjsp2016-02-14 21:48
提示说得很清楚呀,用这个编译器就得额外加
#define _CRT_SECURE_NO_WARNINGS
加在#include <stdio.h>上一行
#3
TonyDeng2016-02-14 22:22
看英文
#4
醒山2016-02-15 11:05
这个已经解决了
#5
空中的世界2016-02-22 21:22
楼主,怎么做才能让vs2013编的程序在运行后不退出?
// yuan.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}

//yuan mian  ji
#include<iostream>
#include<cmath>
int main()
{
    float r, h, l, s, sq, vq, vz;   //float  实行l 周长
    float pi = 3.1415926;
    printf("请输入圆半径r,圆柱高h:");
    scanf_s("%f%f", &r, &h);
    l = 2 * pi*r;
    s = r*r * 2 * pi;
    sq = 4 * pi*r*r;
    vq = 4.0 / 3.0*pi*r*r*r;
    vz = pi*r*r*h;
    printf("圆周长为:        l=%6.2f\n", l);
    printf("圆面积为:        s=%6.2f\n", s);
    printf("球的表面积为:    sq=%6.2f\n", sq);
    printf("球的体积为:      vq=%6.2f\n", vq);
    printf("圆柱体积为:      vz=%6.2f\n", vz);
    return 0;
}
要加点什么?
#6
yangfrancis2016-02-22 22:48
回复 5楼 空中的世界
自己开个贴子来问
#7
wengbin2016-02-23 09:17
五楼的问题,在return  0;前加一句cin.get();如果一句不够就加两句。
#8
xuliuzhe2016-02-27 10:42
在return 之前加个 System("pause")
1