use*_*621 9 c c++ string file fgetc
如何在一个字符串中读取一个字符串,并在到达行尾时停止?我使用fgetc函数从文件读取并将字符放入数组(后者将数组更改为malloc),但无法弄清楚当到达行尾时如何停止
试过这个(c是来自文件的char变量):
if(c=="\0")
Run Code Online (Sandbox Code Playgroud)
但它给出了错误,我无法将指针与整数进行比较
文件看起来像(单词的长度未知):
one
two
three
Run Code Online (Sandbox Code Playgroud)
所以这里有一些问题:1)我可以将c与\ 0进行比较,因为\ 0是两个符号(\和0)或者它被计为一个(与\n相同的问题)2)也许我应该使用\n?3)如果上面的建议有误,你会建议什么(注意我当时必须阅读字符串一个字符)
(注意我对C++很新(并自己编程))
Vau*_*ato 21
您想使用单引号:
if(c=='\0')
Run Code Online (Sandbox Code Playgroud)
双引号(")用于字符串,它是字符序列.单引号(')用于单个字符.
但是,行尾由换行符表示,即'\n'.
请注意,在这两种情况下,反斜杠都不是字符的一部分,而只是表示特殊字符的一种方式.使用反斜杠可以表示各种不可打印的字符以及可能会混淆编译器的字符.