鱼C论坛

 找回密码
 立即注册
查看: 1743|回复: 14

[已解决]我这个是不是软件没有装好啊

[复制链接]
发表于 2020-2-25 13:27:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我复制小甲鱼的写的代码也出现这个问题


我用的是vs code




d : 无法将“d”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ d "d:\落星辰_数据\C C++\C\" ; if ($?) { gcc 01_第一个程序(课后作业).c -o 01_第一个程序(课 ...
+ ~
    + CategoryInfo          : ObjectNotFound: (d:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
最佳答案
2020-2-25 16:42:58
本帖最后由 major_lyu 于 2020-2-25 16:53 编辑


47行:
sprintf(target,"%s/s%s",path,fa.name);是不是多打了个s。
你没发现你运行输出有类似:Can not open the file: ./smain.c这个提示吗。所有要打开的代码文件的文件名都被在前边加了个s, 当然找不到文件了,代码量也就是0了啊。

另外,你main函数中既然给的是相对路径。那么你编译好的可执行文件必须放到要统计的文件所在的最外层路径。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-25 13:29:29 | 显示全部楼层
能截个图吗?
http://imgchr.com
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-25 13:31:09 | 显示全部楼层
vscode文件路径不要用非ASCII字符。你这中文路径。。。。
试试换个英文字符路径。另外代码贴出来看看啊!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-25 13:43:42 | 显示全部楼层
  1. #include <io.h>
  2. #include <direct.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <string.h>

  6. #define MAX 256

  7. long total;

  8. int countines(const char *filename);
  9. void findAllCodes(const char *path);
  10. void findALLfiles(const char *path);

  11. int countLines(const char *filename)
  12. {
  13.     FILE *fp;
  14.     int count = 0;
  15.     int temp;

  16.     if ((fp = fopen(filename,"r")) == NULL)
  17.     {
  18.         fprintf(stderr,"Can not open the file: %s\n",filename);
  19.         return 0;
  20.     }

  21.     while ((temp = fgetc(fp)) != EOF)
  22.     {
  23.         if(temp == '\n')
  24.         {
  25.             count++;
  26.         }
  27.     }
  28.     fclose(fp);
  29.     return count;
  30. }
  31. void findAllCodes(const char *path)
  32. {
  33.     struct _finddata_t fa;
  34.     long handle;
  35.     char thePath[MAX],target[MAX];
  36.     strcpy(thePath, path);
  37.     if((handle = _findfirst(strcat(thePath,"/*.c"), &fa)) != -1L)
  38.     {
  39.         do
  40.         {
  41.             sprintf(target,"%s/s%s",path,fa.name);
  42.             total += countLines(target);
  43.         }while (_findnext(handle,&fa) == 0);
  44.     }
  45.     _findclose(handle);
  46. }
  47. void findALLDirs(const char *path)
  48. {
  49.     struct _finddata_t fa;
  50.     long handle;
  51.     char thePath[MAX];
  52.     strcpy(thePath,path);
  53.     if((handle = _findfirst(strcat(thePath, "/*"), &fa)) == -1L)
  54.     {
  55.         fprintf(stderr,"The path %s is wrong!\n",path);
  56.         return;
  57.     }
  58.     do
  59.     {
  60.         if(!strcmp(fa.name,".")|| !strcmp(fa.name,".."))
  61.         continue;
  62.         if( fa.attrib == _A_SUBDIR)
  63.         {
  64.             sprintf(thePath, "%s/%s",path, fa.name);
  65.             findAllCodes(thePath);
  66.             findALLDirs(thePath);
  67.         }
  68.     }while(_findnext(handle,&fa) == 0);
  69.     _findclose(handle);
  70. }
  71. int main()
  72. {
  73.     char path[MAX] = ".";
  74.     printf("计算中...\n");
  75.     findAllCodes(path);
  76.     findALLDirs(path);

  77.     printf("目前你共计写了 %1d 行代码 \n\n",total);
  78.     system("pause");
  79.     return 0;

  80. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-25 13:44:47 | 显示全部楼层
major_lyu 发表于 2020-2-25 13:31
vscode文件路径不要用非ASCII字符。你这中文路径。。。。
试试换个英文字符路径。另外代码贴出来看看啊!

已经贴了 但是我这个代码检查了好久 都没有找到问题  小甲鱼输出的是101行 我输出的是0行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-25 13:45:26 | 显示全部楼层
qiuyouzhi 发表于 2020-2-25 13:29
能截个图吗?
http://imgchr.com

已经贴代码了 但是我这个代码检查了好久 都没有找到问题  小甲鱼输出的是101行 我输出的是0行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-25 13:47:18 | 显示全部楼层
落星辰_Xjy 发表于 2020-2-25 13:45
已经贴代码了 但是我这个代码检查了好久 都没有找到问题  小甲鱼输出的是101行 我输出的是0行

试试Dev-C++
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-25 14:23:40 | 显示全部楼层
落星辰_Xjy 发表于 2020-2-25 13:45
已经贴代码了 但是我这个代码检查了好久 都没有找到问题  小甲鱼输出的是101行 我输出的是0行

将你的文件后缀名一律改为 .c
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-25 14:25:20 | 显示全部楼层
zltzlt 发表于 2020-2-25 14:23
将你的文件后缀名一律改为 .c

是.c 啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-25 14:30:51 | 显示全部楼层
zltzlt 发表于 2020-2-25 14:23
将你的文件后缀名一律改为 .c

请问一下 怎么发悬赏任务
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-25 16:00:08 | 显示全部楼层
落星辰_Xjy 发表于 2020-2-25 14:30
请问一下 怎么发悬赏任务

新鱼友是没权限发悬赏帖的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-25 16:42:58 | 显示全部楼层    本楼为最佳答案   
本帖最后由 major_lyu 于 2020-2-25 16:53 编辑


47行:
sprintf(target,"%s/s%s",path,fa.name);是不是多打了个s。
你没发现你运行输出有类似:Can not open the file: ./smain.c这个提示吗。所有要打开的代码文件的文件名都被在前边加了个s, 当然找不到文件了,代码量也就是0了啊。

另外,你main函数中既然给的是相对路径。那么你编译好的可执行文件必须放到要统计的文件所在的最外层路径。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-25 17:01:07 | 显示全部楼层
major_lyu 发表于 2020-2-25 16:42
47行:
sprintf(target,"%s/s%s",path,fa.name);是不是多打了个s。
你没发现你运行输出有类似:Can n ...

给我一个支付宝账号 我发8.88红包给你 ,我本来是发悬赏的,但是权限不够。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-25 17:03:58 | 显示全部楼层
落星辰_Xjy 发表于 2020-2-25 17:01
给我一个支付宝账号 我发8.88红包给你 ,我本来是发悬赏的,但是权限不够。

哈哈,不用了。大家互相学习!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-25 17:11:21 | 显示全部楼层
major_lyu 发表于 2020-2-25 17:03
哈哈,不用了。大家互相学习!

蟹蟹
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-13 21:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表