当前位置: 首页 > 知识库问答 >
问题:

在阅读此文本文件时,找不到哪里出错了

燕朝明
2023-03-14

我写这段代码是为了从一个文本文件中读到下面一行:1019*/passed//56。)100,/82//10然而当我在sscanf函数后打印它时,我只得到了1019和数字10,其余的都有垃圾值,知道为什么吗?如果有人能纠正我,我会很感激,我甚至试着在sscanf函数中放入%d而不是仅仅放入%[..],但是仍然没有打印出所需的值。

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

 int main ()
{
char buffer[100];
char status[20];
int grades[4]= {0};
int id;
int j;
int k;
int temp;


FILE *pointer = fopen ("testing5.txt", "r");
if((pointer = fopen("testing5.txt", "r"))!= NULL)
{
    printf("No error, file successfully opened\n you may contine :)\n");
}
   else
   {printf("file could not be opened\nterminating program,...\n");
   return 0;}
   fgets(buffer,100,pointer);
   printf("%s\n", buffer);
     sscanf(buffer,"%[^*/]*/%[^//]//%[^.).)]%[^,/],/ %[^//]//%d",&id,status, &grades[0],&grades[1],&grades[2],&grades[3]);
    printf("%d\n%s\n%d\n%d\n%d\n%d",id,status, grades[0],grades[1],grades[2],grades[3]);
   for (j =0; j<3; j++)
   for(k =j+1; k<4;k++)
   {
    if(grades[j]<grades[k] )
    {
        temp = grades[j];
        grades[j] = grades[k];
        grades[k] = temp;
    }
   }
   printf("\nthe grades in ascending order is \n");
   for (j =0; j<4; j++)
   {
    printf("%d\n", grades[j]);
   }
  return 0;
 }

共有1个答案

须新
2023-03-14
  sscanf("1019*/passed// 56.)100,/ 82//10\n", "%d*/%[^/]// %d.)%d,/ %d//%d",
      &id, status, &grades[0],&grades[1],&grades[2],&grades[3]);
 类似资料:
  • 我试图从一个名为poll.txt的文件中获取数据集,然后使用相关数据。 poll.txt内容: 源代码,选举票.java: 但是,当我运行程序时,在给出异常之前,只使用了其中一行: 我试着在“scanner.nextLine();”语句中移动,但没有用。如果我不要求nextLine,这个程序运行良好,但我显然需要它,而且我似乎不知道出了什么问题。

  • 问题内容: 我正在尝试读取“ file.txt”,然后使用Golang将内容放入变量中。这是我尝试过的… 文件已成功读取,并且从 os.Open 返回的返回类型为 * os.File 问题答案: 这取决于您要执行的操作。 它输出&{0xc082016240}的原因是因为您正在打印文件描述符()的指针值,而不是文件内容。要获取文件内容,可以从文件描述符中获取。 要将所有文件内容(以字节为单位)读取到

  • 问题内容: 在CentOS 5 linux上使用一些基本的Java应用程序,我已设置为指向其中包含和 我有文件 和 当我运行,并在一切完美 但是,当我运行从内上我得到一个文件未找到错误,特别是 为什么会这样呢? 感谢所有帮助 问题答案: 您不应将 类路径 设置为指向您的JDK bin目录-而是应该是 PATH 环境变量,它与类路径的作用不同。(classpath定义了包含已编译的Java .cla

  • 我收到一个错误,这个读取while循环。即使我用打印所有内容,它也会显示count tt==0。这意味着,while循环甚至不工作? 尝试捕获输入。 这是我有问题的代码。 这是我正在阅读的文本文件

  • 问题内容: 您好,我正在关注此页面..我正在将Python安装到我的Mac上,以便可以设置开发环境。 但是我不太确定如何执行此步骤: 该脚本将说明它将进行哪些更改,并在安装开始之前提示您。 安装Homebrew后,将Homebrew目录插入PATH环境变量的顶部。 您可以通过在 〜/ .bashrc文件 底部添加以下行来完成此 操作 导出PATH = / usr / local / bin:$ P

  • 问题内容: 我想从文本文件中读取文本。在下面的代码中,发生异常(这意味着它进入了该块)。我将文本文件放在应用程序文件夹中。我应该在哪里放置此文本文件()以便正确阅读? 问题答案: 我假设你的文本文件在SD卡上 //Don’t hardcode “/sdcard” File sdcard = Environment.getExternalStorageDirectory(); //Get the t