小编Jad*_*ida的帖子

分段故障(核心转储)

嘿家伙我有这个代码:(我试图读取一个字符串并将其放在输出文件中)

#include "structs.h"
#include <stdio.h>
#include <stdlib.h>
int main () {
  FILE* input = fopen("journal.txt", "r");
  FILE* output = fopen("output.txt", "w");
  char date[9];

  if( ferror(input) || ferror(output) ) {
    perror("Error opening input/output file\n");
  }

  fscanf(input, "%s", date);
  fgets(date, 9, input);
  fputs(date, output);
  fclose(input);
  fclose(output);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

它编译正确,但在运行时它显示错误

 Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)

我不明白为什么:(请帮助

c segmentation-fault

0
推荐指数
1
解决办法
6241
查看次数

解析单个CSV行

我有一个CSV文件的规范:

  • 密钥 - 结构化为类别:ID,其中ID是序列号.不需要(或使用)将其拆分为两部分,只需将密钥视为单个唯一值即可
  • 品牌 - 产品的制造商
  • 型号 - 产品的型号名称
  • WeightInKg - 产品重量,四舍五入到最接近的千克
  • 价格 - 产品售价至小数点后两位(2dp)

我有这个代码来标记每一行:

public WarehouseItem(String warehouseItem) {
  String key, brand, model;
  int weightInKG;
  double price; 
  StringTokenizer strTok;

  strTok = new StringTokenizer(warehouseItem);
  try {
    key = strTok.nextToken();
    brand = strTok.nextToken();
    model = strTok.nextToken();
    weightInKG = Integer.parseInt(strTok.nextToken());
    price = Double.valueOf(strTok.nextToken());
  }
  catch (Exception e) {
    throw new IllegalStateException("CSV row had invalid format");
  }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试运行它时,我得到CSV文件的IllegalStateException.

Exception in thread "main" java.lang.IllegalStateException: CSV row had invalid format
    at WarehouseItem.<init>(WarehouseItem.java:23) // …
Run Code Online (Sandbox Code Playgroud)

java csv

0
推荐指数
1
解决办法
2242
查看次数

标签 统计

c ×1

csv ×1

java ×1

segmentation-fault ×1