繁体   English   中英

从文件中读取字符串到C中的结构数组

[英]reading strings from file to struct array in C

我试图从文件中读取字符串并将它们添加到我的结构数组中,但是当我这样做时,我在一两个字符串的末尾得到一些随机字符。这是我逐行读取字符串的代码:

while ((read = getline(&line, &len, fp)) != -1) {
strncpy(&structures[i].id,line,4);   //copies the first four characters to my array of structures
...
}

当我打印出structure [0] .id时,它会打印“ WW23”。它应该只是“ WW23”。它使用几个字符串(尽管不是全部)来完成。 我的结构看起来像这样。

struct observers
{
 char id[13];
 ...
};

它至少可以正确读取文件中的整数值。

您没有终止字符串。 在末尾structures[i].id[4] = '\\0' 它应该工作正常。

您可能需要添加“ \\ 0”作为第5个字符来终止字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM