【发布时间】:2014-11-24 22:14:57
【问题描述】:
我正在尝试从文件中读取字符串并将它们添加到我的结构数组中,但是当我这样做时,我会在一两个字符串的末尾得到一些随机字符。这是我逐行读取字符串的代码:
while ((read = getline(&line, &len, fp)) != -1) {
strncpy(&structures[i].id,line,4); //copies the first four characters to my array of structures
...
}
当我打印出结构[0].id 时,它会打印“WW23�”,而它应该只是“WW23”。它使用几个字符串来执行此操作,尽管不是全部。 我的结构看起来像这样。
struct observers
{
char id[13];
...
};
它正确地从文件中读取,至少它得到正确的整数值。
【问题讨论】:
-
发布
id的定义。是char id[4]吗?如果是这样 `structures[i].id[4] = '\0'` 是错误的。