我的cout怎么了
What wrong with my cout?
在c 中,ubunt 12.04,我有一个名为 config.txt
的文件,其中包含 user name
和 password
。我有2个public static string
变量:USER
和PASSWORD
。这是我的代码:
// Read file from config
string text[2];
int count = 0;
while(!fin.eof()){
getline(fin,text[count]);
count++;
if(count == 2){
break;
}
}
CONNECTOR::USER = text[0];
CONNECTOR::PASSWORD = text[1];
string userAndPassword = CONNECTOR::USER + ":" + CONNECTOR::PASSWORD;
cout << CONNECTOR::USER << endl; // It's fine, right user: qsleader
cout << CONNECTOR::PASSWORD << endl; // ok, right password: 123456
cout <<"user and password: " << userAndPassword << endl; // It's weird text! Problem here!
怪异的文字结果是: :123456d password: qsleader
!!这不是我期望的!但是我不知道为什么会发生这种情况?谁能给我一个建议?(如果我打印:cout << "user and password: qsleader:123456"
,结果很好!!)!
读取值时会创建问题。确实,我想您的文件在两个不同的行上都有两个项目。此外,我猜该文件使用Windows行结尾。因此,当您读取第一项时,它会读取qsleaderr
,然后在下一个提取的字符为 n
时停止,然后提取但不附加到字符串上。
创建userAndPassword
字符串时,实际上是qsleaderr:123456
。这个特殊的角色r
是返回马车。它使光标转到线的开头。因此,在最后一行中,您首先输出user and password: qsleader
,然后返回第一列,然后编写:123456
,导致:123456d password: qsleader
。
您将userAndPassword
设置为涉及分配的地狱表达。我想你的意图是:
string userAndPassword = CONNECTOR::USER + ":" + CONNECTOR::PASSWORD
相关文章:
- 不断收到相同的错误...怎么了?C++
- 编译器没有显示错误,但我没有得到任何输出.怎么了?
- qsort 不适用于我的 impl 中的浮点类型。怎么了?
- 在C++中表现不佳.怎么了?
- 我的程序怎么了?(C )
- 这里怎么了?单位转换器
- 错误:未定义对 .. 的引用.怎么了
- 我试图编写一个代码来查找一个单词是否是回文,但它不起作用。怎么了?
- 我在C++文件中的简单代码块上有 2 个错误。错误 C2059:语法错误:"?"。第二智能感知:预期表达式。怎么了?
- 我的代码怎么了?带有QT的原始输入API
- 使用 cin.get() 似乎没有读取我期望的字符。怎么了?
- 当其中一个字符串来自cin时,无法比较两个字符串.这里怎么了
- "5"怎么了?纸上一切都很好
- 我的cout怎么了
- C++:腹肌怎么了
- Qt OpenGL with Widgets:怎么了?
- 程序为某些条目提供了错误的输出!怎么了?
- 自动和复制构造函数:怎么了?
- 怎么了???只有七行
- Qt简单的文本编辑器,怎么了?