我试图逐行读取文本文件并打印前17个字符。
FILE *devices;
devices = NULL;
devices = fopen("devices.txt", "r");
char deviceaddr[17];
char addr[17];
char line[1024];
while (fgets(line,1024,devices) != NULL)
{
fscanf(devices,"%s", deviceaddr);
printf("%s\n", deviceaddr);
}
fclose(devices);
第一行的输出应该
00:07:80:4C:0E:EE
,但它给出6
。 最佳答案
输出不可能"00:07:80:4c:0E:EE"
,因为
这将导致未定义的行为,因为缓冲区
溢出字符串需要18个字节,但您只提供
17岁。你不应该在没有
指定长度。
你看完后给我打电话
一行一行;如果你逐行阅读,你想使用"%s"
在你读过的那行。
关于c - 无法从c中的文件读取字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15070121/