a1207953075 发表于 2020-8-20 03:58:57

新人,这种情况要怎么解决啊

C:\Users\Administrator\Desktop\360截图20200820035615347
就是第一个作业,照着打完之后就这样了,就算复制粘贴之后调试也会出问题,不会刚开始就止步了吧,卑微

a1207953075 发表于 2020-8-20 03:59:40

图片咋发啊wdm

a1207953075 发表于 2020-8-20 04:02:43

用的是VS2019,然后调试之后就是发生生存错误,是否继续并运行上次的成功生成
点了是之后就无法启动程序,系统找不到指定的文件

严重性        代码        说明        项目        文件        行        禁止显示状态
错误        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:\Users\Administrator\source\repos\1\1\源.c        21       
严重性        代码        说明        项目        文件        行        禁止显示状态
错误        C4996        'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.        1        C:\Users\Administrator\source\repos\1\1\源.c        46       
严重性        代码        说明        项目        文件        行        禁止显示状态
错误        C4996        'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.        1        C:\Users\Administrator\source\repos\1\1\源.c        47       
严重性        代码        说明        项目        文件        行        禁止显示状态
错误        C4996        'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.        1        C:\Users\Administrator\source\repos\1\1\源.c        51       
严重性        代码        说明        项目        文件        行        禁止显示状态
错误        C4996        'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.        1        C:\Users\Administrator\source\repos\1\1\源.c        66       
严重性        代码        说明        项目        文件        行        禁止显示状态
错误        C4996        'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.        1        C:\Users\Administrator\source\repos\1\1\源.c        67       
严重性        代码        说明        项目        文件        行        禁止显示状态
错误        C4996        'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.        1        C:\Users\Administrator\source\repos\1\1\源.c        80       
严重性        代码        说明        项目        文件        行        禁止显示状态
警告        C4474        fprintf: 格式字符串中传递的参数太多        1        C:\Users\Administrator\source\repos\1\1\源.c        69       
严重性        代码        说明        项目        文件        行        禁止显示状态
警告        C4474        sprintf: 格式字符串中传递的参数太多        1        C:\Users\Administrator\source\repos\1\1\源.c        80       
严重性        代码        说明        项目        文件        行        禁止显示状态
警告        C4013        “findAlLLDirs”未定义;假设外部返回 int        1        C:\Users\Administrator\source\repos\1\1\源.c        82       
严重性        代码        说明        项目        文件        行        禁止显示状态
警告        C4013        “_findclost”未定义;假设外部返回 int        1        C:\Users\Administrator\source\repos\1\1\源.c        86       

livcui 发表于 2020-8-20 07:50:16

本帖最后由 livcui 于 2020-8-20 08:35 编辑

如果是 vs2019 的话,
项目 - 属性 - C/C++ - 预处理器 - 预处理器定义 - 编辑
在最后一行加上 _CRT_SECURE_NO_WARNINGS


之后你每一个报警 C 项目都要改

风过无痕1989 发表于 2020-8-20 08:56:28

a1207953075 发表于 2020-8-20 03:59
图片咋发啊wdm

你现在还不发图,要积分达到100分,即 鱼友I 才能发图片

tttxiaoz 发表于 2020-8-20 08:58:37

4996错误主要是使用了不安全函数造成的(高版本的vs会报错)可以在预处理添加 _CRT_SECURE_NO_WARNINGS也可以可以通过 在文件最开始位置添加 #pragma warning(disable:4996)消除错误或者在项目创建的时候取消掉“安全开发生命周期检查”的选项

风过无痕1989 发表于 2020-8-20 09:05:32


#include <io.h>
#include <direct.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX      256

long total;

int countLines(const char *filename);
void findAllCodes(const char *path);
void findALLFiles(const char *path);

int countLines(const char *filename)
{
      FILE *fp;
      int count = 0;
      int temp;
      
      if ((fp = fopen(filename, "r")) == NULL)
      {
                fprintf(stderr, "Can not open the file:%s\n", filename);
                return 0;
      }
      
      while ((temp = fgetc(fp)) != EOF)
      {
                if (temp == '\n')
                {
                        count++;
                }
      }
      
      fclose(fp);
      
      return count;
}

void findAllCodes(const char *path)
{
      struct _finddata_t fa;
      long handle;
      char thePath, target;
      
      strcpy(thePath, path);
      if((handle = _findfirst(strcat(thePath, "/*.c"), &fa)) != -1L)
      {
                do
                {
                        sprintf(target, "%s/%s", path, fa.name);
                        total += countLines(target);
                }while (_findnext(handle, &fa) == 0);
      }
   
      _findclose(handle);
}

void findALLDirs(const char *path)
{
      struct _finddata_t fa;
      long handle;
      char thePath;
      
      strcpy(thePath, path);
      if((handle = _findfirst(strcat(thePath, "/*"), &fa)) == -1L)
      {
                fprintf(stderr, "The path %s is wrong!\n",path);
                return;
      }
   
      do
      {      
                if (!strcmp(fa.name, ".") || !strcmp(fa.name, ".."))
                        continue;
                  
                if( fa.attrib == _A_SUBDIR)
                {      
                        sprintf(thePath, "%s/%s", path, fa.name);
                        findAllCodes(thePath);
                        findALLDirs(thePath);
                }
      }while (_findnext(handle, &fa) == 0);
   
      _findclose(handle);   
}

int main()
{
      char path = ".";
      
      printf("计算中...\n");
      
      findAllCodes(path);
      findALLDirs(path);
      
      printf("目前你总共写了 %ld 行代码!\n\n", total);
      system("pause");
      
      return 0;
}



这个程序就是课后第一个程序,它是分平台的,若你的系统是 Linux 和 MacOS,照抄上面的第一个程序,若你是 Windows ,照抄下面的第二个程序。这个程序是让你练习键盘输入的手感,就是说只是让你照抄输入,不必太在意它运行的结果

a1207953075 发表于 2020-8-20 22:08:09

风过无痕1989 发表于 2020-8-20 09:05
这个程序就是课后第一个程序,它是分平台的,若你的系统是 Linux 和 MacOS,照抄上面的第一个程序, ...

输入的是没问题的,我输过两次了,第二次没错但是就是运行不了

a1207953075 发表于 2020-8-20 22:09:04

livcui 发表于 2020-8-20 07:50
如果是 vs2019 的话,
项目 - 属性 - C/C++ - 预处理器 - 预处理器定义 - 编辑
在最后一行加上 _CRT_SECU ...

感谢大佬
页: [1]
查看完整版本: 新人,这种情况要怎么解决啊