我习惯用c#编程,但现在我不得不用c ++项目来帮助我的室友。
这是“不工作的代码”:
<input type="button" value="Toggle block visibility" onclick="$('.mdinput').eq(1).toggle();">
```yaml
#: name=d
rac: [3.551, 2.232, 1.402, 1.114, 0.882, 0.7]
gmr: [0.0055611962035177, 0.00700459393067038, 0.00882262274842038, 0.00990159326021141, 0.0111125174323268, 0.0124715326552536]
conductors: [6, 4, 2, 1, 1/0, 2/0]
```
```yaml
#: name=rac
[3.551, 2.232, 1.402, 1.114, 0.882, 0.9]
```
<input type="button" value="Toggle block visibility2" onclick="$('.mdinput').eq(2).toggle();">
```yaml
#: name=d2
rac: [3.551, 2.232, 1.402, 1.114, 0.882, 0.7]
gmr: [0.0055611962035177, 0.00700459393067038, 0.00882262274842038, 0.00990159326021141, 0.0111125174323268, 0.0124715326552536]
conductors: [6, 4, 2, 1, 1/0, 2/0]
```
我从文件中获取了一个关键字列表。在MaxWordLength中,我想知道单词的最大长度(单词在文本文件中用新行分隔)。当我执行temp.Length时,我得到695(文件中所有字符的数量)。为什么我没有得到我添加到向量中的单词的实际长度?
谢谢!
LE:我也在下面的for中做了MaxWordLength逻辑,我将这些项放在RichEdit中。
答案 0 :(得分:0)
使用file.getline()代替&gt;&gt;运算符,它不会在您的情况下产生所需的输出,但会为您提供完整的文件内容。所以AnsiString()。Length()不是你的问题。只需修改部分代码即可使其按预期工作:
char buffer[255];
if(file.is_open()){
while(file.getline(buffer, sizeof(buffer))){
temp = AnsiString(buffer).Trim();
if(temp.Length()> maxWordLength) maxWordLength=temp.Length();
keyWords.push_back(temp);
}
file.close();
}