csvでcharの文字列サイズを気にせず代入したい。
解決したいこと
c++でcsvを読み込むプログラムを作りました。
csvの文字列サイズが大きくなっても、str
に文字列サイズに気にせず、代入できるようにしたいです。
解決方法を教えてください。
参考サイト
ソースコード
main.cpp
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp; // FILE型構造体
char fname[] = "test.csv";
char str[1];
fp = fopen(fname, "r"); // ファイルを開く。失敗するとNULLを返す。
if (fp == NULL)
{
printf("%s file not open!\n", fname);
return -1;
}
while (fscanf(fp, "%s\n", str) != EOF)
{
printf("%s\n", str);
}
fclose(fp); // ファイルを閉じる
return 0;
}
output
zsh: segmentation fault ./a.out
test.csv
test
testtesttesttest
testtesttesttesttest
0