我正在为类的实验室作业工作,并为我们正在编写的字符串标题编写输入函数。该函数基本上只是从FILE中读取字符串并将它们存储在字符串对象中。它具有忽略前导空格和能够定义一个函数来指定终止字符的功能,这些终止字符将停止读取文件。
问题是我收到了分段错误,我不确定问题是什么。我不理解GDB中的错误。我的教练似乎认为它与32位与64位系统架构有关,但我不确定。这是错误。
__strcmp_ssse3 () at ../sysdeps/i386/i686/multiarch/strcmp-ssse3.S:232
232 ../sysdeps/i386/i686/multiarch/strcmp-ssse3.S: No such file or directory.
有谁知道这个错误意味着什么?谷歌搜索没有任何结果。
以下是相关功能:http://pastebin.com/tNTEQKZX
我认为问题是它一旦到达文件末尾就继续尝试读取新字符串。似乎它并没有终止于EOF角色。
以下是使用输入功能的程序:http://pastebin.com/E3RinS24
答案 0 :(得分:0)
问题最有可能出现在mystring_push
函数中。在将来,请编辑您的问题以包含您的代码。不要添加指向外部网站的链接。 - Joachim Pileborg
没关系。该错误与输入功能完全无关。问题出在我的字符串库的push()函数中。它是在错误的情况下重新分配内存的。谢谢你指出了EOF问题。 - Darin Beaudreau