前提・実現したいこと
ファイルから一行ずつ読み込こんで配列に保存し
配列の文字列をカンマで区切って違う配列にそれぞれ保存したいのですが
うまくいかず困っています。
ファイルの中身は一行あたりに、数字と英字のふたつがカンマで区切ってある、テキストファイルです。
発生している問題・エラーメッセージ
printf("%s", id);
printf("%s, tag);
で何も表示されない
該当のソースコード
c言語で記述してあり、コードは以下に示す
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp; char str[256]; fp = fopen("ex.txt", "r"); if (fp == NULL) { printf("失敗"); return -1; } char id[256]; char tag[256]; while (fgets(str, 256, fp) != NULL) { printf("%s", str); int status = 1; for (int i = 0; i < 256; i++) { int j = 0; switch (status) { case 1: if (str[i] == ',') { id[j] = '\0'; j = 0; status = 2; } else { id[j] = str[i]; j++; } break; case 2: if (str[i] == '\0') { tag[j] = '\0'; status = 3; } else { tag[j] = str[i]; j++; } break; case 3: break; } } printf("%d\n", id); printf("%d\n", tag); } fclose(fp); return 0;
}
試したこと
printf("%d", id);にすると、数字は表示されるので何かしらは保存されていると思われる。
補足情報(FW/ツールのバージョンなど)
。
回答1件
あなたの回答
tips
プレビュー