fscanf() 仅拾取文件的第一行

2024-01-09

我有一个制表符分隔文件,我正在尝试将其转换为制表符分隔文件。我正在使用 C。我在尝试读取文件的第二行时遇到了困难。现在我只有数万行重复第一行。

#include <stdio.h>
#include <string.h>
#define SELLERCODE  A2LQ9QFN82X636

int main ()
{
     typedef char* string;
     FILE* stream;
     FILE* output;
     string asin[200];
     string sku[15];
     string fnsku[15];
     int quality = 0;

     stream = fopen("c:\\out\\a.txt", "r");
     output = fopen("c:\\out\\output.txt", "w");

     if (stream == NULL)
     { 
         perror("open");
         return 0;
      }

     for(;;)
     {
       fscanf(stream, "%[^\t]\t%[^\t]", sku, fnsku);
       printf("%s\t%s\n",  sku, fnsku);
       fprintf(output, "%s\t%s\t%\t%s\t%s\t%i\n", sku, fnsku, asin, quality);
     }

}

Prefer fgets()读取输入并解析程序中的行,例如使用:sscanf() or strtok().

fscanf is notoriously difficult to use.
Your fscanf is not performing any conversions after the first line.
It reads characters up to a TAB, then ignores the TAB, and reads more characters up to the next TAB. On the 2nd time through the loop, there is no data for sku: the 1st character is a TAB.

Do 检查返回值尽管。它有很大帮助。

chk = fscanf(stream, "%[^\t]\t%[^\t]", sku, fnsku);
/* 2 conversions: sku and fnsku */
if (chk != 2) {
    /* something went wrong */
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

fscanf() 仅拾取文件的第一行 的相关文章

  • 静态只读字符串数组

    我在我的 Web 应用程序中使用静态只读字符串数组 基本上数组有错误代码 我将所有类似的错误代码保存在一个数组中并检查该数组 而不是检查不同常量字符串中的每个错误代码 like public static readonly string m
  • 如何从 C# 中的 dataTable.Select( ) 查询中删除单引号?

    所以我有一个经销商名称列表 我正在我的数据表中搜索它们 问题是 一些傻瓜必须被命名为 Young s 这会导致错误 drs dtDealers Select DealerName dealerName 所以我尝试替换字符串 尽管它对我不起作
  • 计算 XML 中特定 XML 节点的数量

    请参阅此 XML
  • IdentityServer 4 对它的工作原理感到困惑

    我阅读和观看了很多有关 Identity Server 4 的内容 但我仍然对它有点困惑 因为似乎有很多移动部件 我现在明白这是一个单独的项目 它处理用户身份验证 我仍然不明白的是用户如何注册它 谁存储用户名 密码 我打算进行此设置 Rea
  • 如何在C(Linux)中的while循环中准确地睡眠?

    在 C 代码 Linux 操作系统 中 我需要在 while 循环内准确地休眠 比如说 10000 微秒 1000 次 我尝试过usleep nanosleep select pselect和其他一些方法 但没有成功 一旦大约 50 次 它
  • 如何判断计算机是否已重新启动?

    我曾经使用过一个命令行 SMTP 邮件程序 作为试用版的限制 它允许您在每个 Windows 会话中最多接收 10 封电子邮件 如果您重新启动计算机 您可能还会收到 10 个以上 我认为这种共享软件破坏非常巧妙 我想在我的应用程序中复制它
  • 如何使用 Castle Windsor 将对象注入到 WCF IErrorHandler 实现中?

    我正在使用 WCF 开发一组服务 该应用程序正在使用 Castle Windsor 进行依赖注入 我添加了一个IErrorHandler通过属性添加到服务的实现 到目前为止一切正常 这IErrorHandler对象 一个名为FaultHan
  • 查看 NuGet 包依赖关系层次结构

    有没有一种方法 文本或图形 来查看 NuGet 包之间的依赖关系层次结构 如果您使用的是新的 csproj 您可以在此处获取所有依赖项 在项目构建后 项目目录 obj project assets json
  • C# 数据表更新多行

    我如何使用数据表进行多次更新 我找到了这个更新 1 行 http support microsoft com kb 307587 my code public void ExportCSV string SQLSyntax string L
  • 对 std::vector 进行排序但忽略某个数字

    我有一个std vector
  • Python 属性和 Swig

    我正在尝试使用 swig 为一些 C 代码创建 python 绑定 我似乎遇到了一个问题 试图从我拥有的一些访问器函数创建 python 属性 方法如下 class Player public void entity Entity enti
  • 在Linux中,找不到框架“.NETFramework,Version=v4.5”的参考程序集

    我已经设置了 Visual studio 来在我的 Ubuntu 机器上编译 C 代码 我将工作区 我的代码加载到 VS 我可以看到以下错误 The reference assemblies for framework NETFramewo
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • 使用valgrind进行GDB远程调试

    如果我使用远程调试gdb我连接到gdbserver using target remote host 2345 如果我使用 valgrind 和 gdb 调试内存错误 以中断无效内存访问 我会使用 target remote vgdb 启动
  • 如何在 Qt 应用程序中通过终端命令运行分离的应用程序?

    我想使用命令 cd opencv opencv 3 0 0 alpha samples cpp cpp example facedetect lena jpg 在 Qt 应用程序中按钮的 clicked 方法上运行 OpenCV 示例代码
  • 在mysql连接字符串中添加应用程序名称/程序名称[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在寻找一种解决方案 在连接字符串中添加应用程序名称或程序名称 以便它在 MySQL Workbench 中的 客户端连接 下可见 SQL
  • 在屏幕上获取字符

    我浏览了 NCurses 函数列表 似乎找不到返回已打印在屏幕上的字符的函数 每个字符单元格中存储的字符是否有可访问的值 如果没有的话Windows终端有类似的功能吗 我想用它来替换屏幕上某个值的所有字符 例如 所有a s 具有不同的特征
  • Unity:通过拦截将两个接口注册为一个单例

    我有一个实现两个接口的类 我想对该类的方法应用拦截 我正在遵循中的建议Unity 将两个接口注册为一个单例 https stackoverflow com questions 1394650 unity register two inter
  • OpenGL:仅获取模板缓冲区而没有深度缓冲区?

    我想获取一个模板缓冲区 但如果可能的话 不要承受附加深度缓冲区的开销 因为我不会使用它 我发现的大多数资源表明 虽然模板缓冲区是可选的 例如 排除它以利于获得更高的深度缓冲区精度 但我还没有看到任何请求并成功获取仅 8 位模板缓冲区的代码
  • GCC 的“-Wl,option”和“-Xlinker option”语法之间有区别吗?

    我一直在查看一些配置文件 并且看到它们都被使用 尽管在不同的体系结构上 如果您在 Linux 机器上使用 GCC 将选项传递给链接器的两种语法之间有区别吗 据我所知 阅读 GCC 手册时 他们的解释几乎相同 From man gcc Xli

随机推荐

  • Github GraphQL 搜索与过滤

    根据我有限的搜索 GraphQL 似乎只能支持等值过滤 所以 是否可以使用以下过滤条件进行Github GraphQL搜索 星星 gt 10 货叉 gt 3 总提交 gt 5 总问题 gt 1 未决问题 尺寸 gt 2k 分数 gt 5 上
  • Android DatePicker 没有星期日

    我正在使用日期选择器来选择特定日期 日期选择器不应允许选择星期日 到目前为止 我正在检测选择后的星期日并显示一条消息 但如果日期选择器不允许星期日 那就更好了 有没有办法做到这一点 检测星期日的代码 private static class
  • 使用 angular2-jwt 的 Angular 6

    将我的应用程序从 Angular 4 迁移到 Angular 6 最新版本 后 我的 Auth 服务中出现了一个非常奇怪的错误 具体来说 当我尝试执行以下操作时 angular2 jwt 包会导致致命错误 serve or build 该应
  • 使用 C 中的位掩码和位运算符检查字符是否为 ASCII

    我需要编写程序来检查标准输入中的每个单独的字符 看看它是否是 ASCII 字符 我知道它需要检查的是第 8 位 代码中的第 7 位 如果我没记错的话 是否为 0 因为 ASCII 只使用 7 位 但我很难弄清楚如何准确地让它检查具体位 这就
  • git-diff 中有类似 diff --show-c-function 的东西吗?

    我一直在处理 git 存储库中的一个文件 如果我有该文件的原始 git 版本的副本 我可以运行 diff show c function 来比较这两个文件 其中 理论上 它显示了已被调用的任何函数的全部内容改变了 这对于弄清楚我专门对文件做
  • 增加 Sublime Text 2 中最近项目的数量?

    是否可以增加 Sublime Text 2 中 项目 gt 最近的项目 菜单中显示的最近项目的数量 我搜索了设置 但没有找到任何内容 编辑这个文件 Library Application Support Sublime Text 2 Pac
  • RectF使用dp还是px?

    在Canvas中 用RectF画一个矩形 需要将top和left设置为dp还是px Integer padding 10 Integer width 100 It is dp or px Integer height 50 RectF po
  • Hadoop:如何将减速器输出合并到单个文件? [复制]

    这个问题在这里已经有答案了 我知道 shell 中的 getmerge 命令可以完成这项工作 但是 如果我想在作业结束后通过 HDFS API for java 合并这些输出 我该怎么办 我真正想要的是 HDFS 上的单个合并文件 我唯一能
  • C# 通用字符串解析为任何对象

    我将对象值存储在字符串中 例如 string values new string 213 4 10 hello MyValue 有什么方法可以通用地初始化适当的对象类型吗 例如 类似的东西 double foo1 AwesomeFuncti
  • Clojure 从指定位置的 Vector 中删除项目

    有没有办法根据索引从向量中删除项目 目前我正在使用 subvec 来分割向量并再次重新创建它 我正在寻找向量的 assoc 的反面 subvec可能是最好的方法 Clojure 文档说subvec is O 1 并且非常快 因为生成的向量与
  • 如何创建自定义列表累加器,即 List[(Int, Int)]?

    我正在尝试使用 Apache Spark 中的自定义累加器来累积列表中的对 结果应该有List Int Int 类型 为此 我创建了自定义累加器 import org apache spark AccumulatorParam class
  • 是什么导致了错误“返回类型‘TableRow’不是‘Widget’,如方法‘build’所定义”

    我正在 Flutter Dart 创建一个应用程序 目前正在研究该应用程序的布局 我正在尝试创建一个标准的表格布局 它工作得很好 直到我想将代码外包到不同的文件中 此时 我创建了一个扩展 StatelessWidget 的类 它重写返回 T
  • Linux 上的系统调用实际上是如何发生的?

    受到这个问题的启发 如何强制GDB反汇编 https stackoverflow com questions 1237489 how can i force gdb to disassemble 和这个相关的 什么是 INT 21 小时 h
  • TFS 2010 构建质量更改后发布到 FTP

    当我更改 TFS 2010 中构建的质量 更改为生产质量 时 我希望将构建上传到远程服务器上的 FTP 站点 您知道有什么工具可以实现此目的吗 如果没有 对我自己如何做到这一点有什么建议吗 TFSDeployer 可能很有用 构建质量更改事
  • Activity 恢复时不恢复 ViewPager

    我的项目的设置如下 Activity has Fragment它有ViewPager提供的页面FragmentStatePagerAdapter 显示的数据由ViewPager是从网络获取的 When Activity被破坏并恢复 它试图恢
  • Visual Studio Code,pylint 抱怨“无法导入 XXX”

    我在用视觉工作室代码处理一个包含许多模块的大型 python 项目 My settings json看起来像这样 python linting pylintEnabled true python linting enabled true p
  • Webpack - NodeJS - 找不到模块:错误:无法解析“fs”

    使用 webpack 构建 nodejs 项目时出现以下错误 ERROR in node modules mime mime js Module not found Error Can t resolve fs in C Sample no
  • 平均值的最大值

    我应该得到每个部门的平均工资 并且只显示平均工资最高的部门 我想出了这个查询 但它不起作用 有人有一些想法吗 SELECT department max avg wage FROM employees GROUP BY department
  • 如何解析和简化像“3cm/μs² + 4e-4 sqmiles/km/h**2”这样的字符串,正确处理物理单位?

    我想像这样分割一个字符串3cm s 4e 4 sqmiles km h 2进入其SI unit https en wikipedia org wiki International System of Units 在这种情况下 m s 2 及
  • fscanf() 仅拾取文件的第一行

    我有一个制表符分隔文件 我正在尝试将其转换为制表符分隔文件 我正在使用 C 我在尝试读取文件的第二行时遇到了困难 现在我只有数万行重复第一行 include