使用 fopen 时出现段错误

2024-03-10

我从以下代码的第二行收到段错误:

FILE *output = NULL;
output = fopen("./output2.txt", "w+");

我不认为这是某种损坏的内存错误,因为当我将 w+ 更改为 r 时。它运行时没有段错误。另外,它似乎是在出现段错误之前创建该文件。

编辑:事实证明 mrbatch 是对的

我所有的代码供参考:

void writeFile(const char *header, int numRows, int numCols, int **grades, const char  *outFile)
{
    printf("writefile success\n");
    int i, j;
    FILE *output = NULL;
    output = fopen("./output2.txt", "w+");  // ERROR HERE (I was wrong, keep reading)
    printf("testestestsetsete\n\n\n");    //based off the commenters, this code 
                                          //IS reached but is never printed

    fprintf(output, "%s", *header);  //commenters stated error is here
                                     //*header should be header
    fprintf(output, "%d %d\n", numRows, numCols); //output the number or rows and columns at the second line

    //output each grades(scores) in the processed 2D array grades
    for(i = 0; i < numRows; i ++ ) {    //loop through all rows
        for( j = 0; j < numCols; j ++ ) //loop through all columns in the i row
        {   
            if( j < numCols - 1 )
                fprintf(output, "%d ", grades[i][j]);
            else
                fprintf(output, "%d\n", grades[i][j]);
            //printf("\"%d\" ", score);
        }
        //printf("\n");
    }

    fclose(output); 

}


错误实际上是第一个fprintf在你之后fopen.

fprintf(output, "%s", *header);  //output the same header

The %s格式说明符需要一个char *你通过了char value (*header)它试图将其解释为地址并导致段错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 fopen 时出现段错误 的相关文章

  • Nullable 是不可能的,为什么不呢? [复制]

    这个问题在这里已经有答案了 如果这是一个愚蠢的问题 请原谅 我正在尝试更好地理解 Net 中的 Nullable 类型 从我从 Microsoft 源代码 使用 ReSharper 中注意到的内容 我了解到 Nullable 是一个结构 而
  • 从另一个 FORM 中取回隐藏的 FORM

    我有两种形式Form1 and Form2 我正在打开Form2 from Form1 on button Click Form2 obj2 new Form2 this Visible false obj2 Show 然后我想回来Form
  • C# 和月历,选择多个日期

    我正在制作一个程序 可以帮助人们用 C 为某个部门 预订 订单 他们需要能够选择不同月份的多个日期 我更愿意拥有它 这样他们就可以单击一个日期 然后按住 Shift 键单击另一个日期以选择这两个日期之间的所有日期 并控制单击以进行单选 取消
  • .pdbs 会减慢发布应用程序的速度吗?

    如果 dll 中包含 pdb 程序调试 文件 则行号将出现在引发的任何异常的堆栈跟踪中 这会影响应用程序的性能吗 这个问题与发布与调试 即优化 无关 这是关于拥有 pdb 文件的性能影响 每次抛出异常时都会读取 pdb 文件吗 加载程序集时
  • 以下 PLINQ 代码没有改进

    我没有看到使用以下代码的处理速度有任何改进 IEnumerable
  • 从时间列表中查找最接近的时间

    所以 这是场景 我有一个带有创建时间的文件 我想从该文件的创建时间最接近或相等的时间列表中选择一个时间 完成此操作的最佳方法是什么 var closestTime listOfTimes OrderBy t gt Math Abs t fi
  • PrivateObject 找不到属性

    我的结构基本上如下所示 abstract class A protected string Identificator get set private void DoSomething DoSomethingSpecific protect
  • 判断串口是普通COM还是SPP

    我正在寻找一种方法来确定 COM 是标准 COM 还是 SPP COM 也称为 COM 设备的电缆替换蓝牙适配器 我有一个可以在 USB COM gt USB 和蓝牙下工作的设备 并且蓝牙接口可以与 SPP 一起工作 我目前正在使用Syst
  • C 类型命名约定,_t 或 ALLCAPS

    我一直想知道是否有任何命名约定 例如何时对类型使用全部大写以及何时追加 t 什么时候不使用任何东西 我知道当时 K R 发布了各种有关如何使用 C 的文档 但我找不到任何相关内容 在 C 标准库类型中 t看起来漂亮占主导地位 time t
  • 无法获取本地或参数的值,因为它在此指令指针处不可用,可能是因为它已被优化掉

    Visual Studio 2010 会删除 没有其他词 不安全块中函数参数之一中的数据 什么可能导致此错误 调试器显示以下消息 Cannot obtain value of local or argument as it is not a
  • 如何设置消息队列的所有者?

    System Messaging MessageQueue 类不提供设置队列所有权的方法 如何以编程方式设置 MSMQ 消息队列的所有者 简短的答案是 p invoke 对 windows api 函数的调用MQSetQueueSecuri
  • 如果在代码中添加元素,“FindName”将不起作用

    在 WPF 应用程序中 如果在 XAML 中声明 ContentControl
  • 如何在 EF Core 2.1 中定义外键关系

    我的 DAL 使用 EF Core 2 1 这就是我的模型的样子 一名用户只能拥有一种角色 Role entity kind of master public class Role public int RoleId get set pub
  • C 与 C++ 中的 JNI 调用不同?

    所以我有以下使用 Java 本机接口的 C 代码 但是我想将其转换为 C 但不知道如何转换 include
  • 在 mvc4 中创建通用 mvc 视图

    我以前也提过类似的问题 没有得到答案 如何创建一个通用的 mvc4 视图 该视图可以显示传递给它的模型列表或单个模型 模型可以是个人 组织或团体 无论传递给它的是什么 如果您正在寻找类似的东西 model MyViewModel
  • 使用 Unity 在 C# 中发送 http 请求

    如何使用 Unity 在 C 中发送 HTTP GET 和 POST 请求 我想要的是 在post请求中发送json数据 我使用Unity序列化器 所以不需要 新的 我只想在发布数据中传递一个字符串并且能够 将 ContentType 设置
  • 使用 boost 异步发送和接收自定义数据包?

    我正在尝试使用 boost 异步发送和接收自定义数据包 根据我当前的实现 我有一些问题 tcpclient cpp include tcpclient h include
  • Emacs C++,打开相应的头文件

    我是 emacs 新手 我想知道 是否有在头文件 源文件和相应的源文件 头文件之间切换的快捷方式 是否有像通用 emacs 参考卡那样的参考卡 Thanks There s ff find other file 您可以使用以下方法将其绑定到
  • 如何在c中断言两个类型相等?

    在 C 中如何断言两种类型相等 在 C 中 我会使用 std is same 但搜索 StackOverflow 和其他地方似乎只能给出 C 和 C 的结果 在C中没有办法做到这一点吗 请注意 这不是询问变量是否具有某种类型 而是询问两个类
  • 是否可以使用 Dapper 流式传输大型 SQL Server 数据库结果集?

    我需要从数据库返回大约 500K 行 请不要问为什么 然后 我需要将这些结果保存为 XML 更紧急 并将该文件通过 ftp 传输到某个神奇的地方 我还需要转换结果集中的每一行 现在 这就是我正在做的事情 TOP 100结果 使用 Dappe

随机推荐

  • 将 HarddiskVolume 路径转换为正常路径[重复]

    这个问题在这里已经有答案了 我有这样的设备路径 设备 HarddiskVolume2 Windows 我想将其转换为像这样的正常路径 C Windows 我尝试使用 fullpath splitpath etc 但没有新结果 该功能执行哪个
  • 如何查看 nusoap 的“原始 xml”输出?

    我有一个通用函数 用于传递 SOAP 命令 我需要查看正在处理的 RAW XML 数据sent到服务器来诊断错误 我怎么做 没关系 这似乎已经非常接近了 http www scottnichol com nusoapintro htm ht
  • 我可以让 IntelliJ IDEA 看起来更像 Eclipse 吗?

    我已经在 Eclipse 中进行开发很长一段时间了 但我仔细研究了 IntelliJ IDEA 9 0 3 因为它具有良好的 Flex 开发工具和 Maven flexmojos 集成 但我就是无法忍受 Ubuntu 10 04 上的外观
  • 如何在Linux中找到处理器队列长度

    尝试确定 Linux 计算机上的处理器队列长度 准备运行但当前未运行的进程数 Windows 中有一个针对此指标的 WMI 调用 但对 Linux 不太了解 我正在尝试挖掘 proc 和 top 以获取信息 有没有办法确定CPU的队列长度
  • JavaScript setInterval 限制?

    我有一个使用 JavaScript 的应用程序setInterval 运行数字时钟 我想知道它执行此函数的次数是否有超时或限制 setInterval 将无限运行 如果您希望终止 循环 可以使用clearInterval 例如 var co
  • 红宝石案例陈述与比较[重复]

    这个问题在这里已经有答案了 有没有办法使用caseruby 中整数比较的语句 我发现了很多比较字符串的例子 但是我的case下面的示例因语法错误而失败 def get price rank price case price when lt
  • 升级到 Xcode 8.2.1 后,iOS 模拟器无法在代理后面工作?

    我正在需要身份验证的代理环境中工作 由于我已升级到 Xcode 8 2 1 模拟器停止工作 但它在 Xcode 8 1 和 7 3 上运行良好对此有任何帮助吗 这是我收到的错误 PAC 获取失败并出现错误 NSURLErrorDomain
  • 在shell脚本中打印C程序的输出

    我有一个程序 我必须使用一个 c 程序将开尔文转换为远 反之亦然 我需要输出方面的帮助 它应该从我放入 file 和用户的 choice 中的数据文件中读取 并在 c 程序文件 farh kel 中运行它 while read val do
  • 禁用某些图像的缓存

    我使用 PHP 库生成一些图像 有时浏览器不会加载新生成的文件 如何仅对我动态创建的图像禁用缓存 注意 随着时间的推移 我必须对创建的图像使用相同的名称 解决这个问题的一个常见而简单的解决方案是向每个动态图像请求添加一个随机生成的查询字符串
  • 头文件中的 const 变量和静态初始化惨败

    在阅读了很多有关静态变量初始化的问题后 我仍然不确定这如何适用于const命名空间级别的变量 我有以下代码header file config h由构建脚本生成 static const std string path1 xyz abc s
  • ExtJS:将 html 表单转换为 ExtJS

    我希望能够将 html 表单转换为 ExtJs 表单 我读到您必须使用 applyTo 做一些事情 但不太确定该怎么做 我希望有人能为我提供一些帮助 Cheers 如果你想将表单中的每个元素转换为 ExtJS 元素 有人在煎茶论坛 http
  • QMediaPlayer 未定义引用链接器错误

    我安装了 Qt5 由于 Qt5 不支持 Phonon 我被迫使用其他东西 所以我决定使用 QtMultimedia 轮廓 QT core gui CONFIG mobility MOBILITY multimedia cpp代码 inclu
  • 用于重新加载部署的 WildFly CLI 命令

    我可以重新启动运行以下 Java 代码的整个 WildFly 服务器 但我只想重新加载名为 test war 的部署 怎么可能呢 public void flushall throws IOException Runtime getRunt
  • Angular FormArray 内容顺序

    Hya 我有以下设置 App Component Ts 内容 carForm FormGroup constructor private fb FormBuilder this carForm this fb group name type
  • 未配置 SQL 方言 (Phpstorm)

    我正在研究 Google oauthorization2 并遇到问题 未配置 SQL 方言 这就是为什么我的查询没有执行并且数据将进入表的原因 我在下面列出了我遇到问题的两个查询 工具 PhpStorm 8 MySQL 本地主机 user
  • 签署 mac 安装程序 (pkgmaker)

    我的安装程序是使用 PackageMaker 创建的 之后 我使用以下命令对安装程序进行了代码签名 产品签名 签名 Blah Inc 安装 mpkg CS 安装 mpkg 这似乎工作得很好 我可以看到它是使用以下命令签名的 pkgutil
  • 在Linux中,有没有办法找出哪个PCI卡插入哪个PCI插槽?

    在Linux中 有没有办法找出哪个PCI卡插入哪个PCI插槽 sys bus pci devices 包含许多不是卡的设备 桥 CPU 通道等 我无法在设备目录中找到有关插槽卡映射的任何信息 您可以使用 dmidecode t slot 查
  • 事件处理顺序

    Javascript jQuery 事件处理 如果事件 例如 点击 为父元素绑定了一个函数 为子 DOM 元素绑定了另一个处理函数 那么会调用哪一个函数 如果全部都被调用 那么按什么顺序调用 事件在 DOM 树中 向上 冒泡 因此如果您有某
  • 如何使用 ng-repeat track by $index 创建的量角器选择元素?

    我需要选择 ng repeat 创建的文本框并使用 sendKeys 函数发送一些值 但我不确定选择文本框的方法 请建议一种方法来完成此任务 或者我应该使用 css 选择器来代替 div class qst input hld ng sco
  • 使用 fopen 时出现段错误

    我从以下代码的第二行收到段错误 FILE output NULL output fopen output2 txt w 我不认为这是某种损坏的内存错误 因为当我将 w 更改为 r 时 它运行时没有段错误 另外 它似乎是在出现段错误之前创建该