Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 由于¤¬;(货币符号)_C++_Xcode_Ifstream - Fatal编程技术网

C++ 由于¤¬;(货币符号)

C++ 由于¤¬;(货币符号),c++,xcode,ifstream,C++,Xcode,Ifstream,所以,我一直在使用这个输入文件,因为无论我做了什么,它都不能正确地显示给我。我确实弄明白了为什么会发生这种情况,但我想知道下线(行尾)旁边的货币符号是什么意思,以及为什么不容易添加或删除它们())。我从来没有遇到过这个问题,也没有看到过关于这个问题的任何帖子,主要是因为我不知道·到底是什么,如果我不得不猜测的话,我会说它是某种换行或换行。也许这是xCode中的一个不错的苹果bug 更新3 输入功能: while (!mDataFile.eof()) { MLSInfo temp;

所以,我一直在使用这个输入文件,因为无论我做了什么,它都不能正确地显示给我。我确实弄明白了为什么会发生这种情况,但我想知道下线(行尾)旁边的货币符号是什么意思,以及为什么不容易添加或删除它们()。我从来没有遇到过这个问题,也没有看到过关于这个问题的任何帖子,主要是因为我不知道·到底是什么,如果我不得不猜测的话,我会说它是某种换行或换行。也许这是xCode中的一个不错的苹果bug

更新3

输入功能:

while (!mDataFile.eof())
{
    MLSInfo temp;
    //mDataFile >> temp.mlsId;
    mDataFile >> temp.mlsId;
    mDataFile >> temp.salePrice;

    mDataFile.ignore();
    getline(mDataFile, temp.address);

    if (!mDataFile.eof()){
        list.listInsertEnd(temp);
    }
}
DListNode* tempPtr = list.getHead();
while (tempPtr != nullptr) {
    MLSInfo temp = tempPtr->dataVal ;
    cout << temp.mlsId << " " << temp.salePrice << " " << temp.address << "";
    tempPtr = tempPtr->nextNodePtr;
}
输出功能:

while (!mDataFile.eof())
{
    MLSInfo temp;
    //mDataFile >> temp.mlsId;
    mDataFile >> temp.mlsId;
    mDataFile >> temp.salePrice;

    mDataFile.ignore();
    getline(mDataFile, temp.address);

    if (!mDataFile.eof()){
        list.listInsertEnd(temp);
    }
}
DListNode* tempPtr = list.getHead();
while (tempPtr != nullptr) {
    MLSInfo temp = tempPtr->dataVal ;
    cout << temp.mlsId << " " << temp.salePrice << " " << temp.address << "";
    tempPtr = tempPtr->nextNodePtr;
}
十六进制:

用于·的UNICODE代码:

U+00A4

输出是什么样子的

为了解决这个问题,我只是通过重新键入输入文件删除了所有的


看起来这些浅灰色Unicode字符是Xcode显示空白字符的方式。点是空格,箭头是换行符,所以我猜你的货币符号是回车

查看您的hexdump,我们看到字符
0x0d
。与a比较,可以确认这确实是一次运输返回

由于
getline
的默认分隔符是换行符*,因此此回车符直接进入字符串!当您稍后尝试输出该字符串时,这将影响一些事情。(如果看不到您的代码,很难说为什么要按这种方式打印)

如果没有更多信息(文件在某个时候是否在windows计算机上?),这些文件是如何进入您的文件的是一个谜,但是简单地从文件中删除它们就足以解决您的问题



*意识到我在这里假设使用
getline
,因为如果使用
cin
>
操作符,它将停止在任何空白处,包括回车。

看起来那些浅灰色Unicode字符是Xcode显示空白字符的方式。点是空格,箭头是换行符,所以我猜你的货币符号是回车

查看您的hexdump,我们看到字符
0x0d
。与a比较,可以确认这确实是一次运输返回

由于
getline
的默认分隔符是换行符*,因此此回车符直接进入字符串!当您稍后尝试输出该字符串时,这将影响一些事情。(如果看不到您的代码,很难说为什么要按这种方式打印)

如果没有更多信息(文件在某个时候是否在windows计算机上?),这些文件是如何进入您的文件的是一个谜,但是简单地从文件中删除它们就足以解决您的问题



*意识到我在这里假设使用
getline
,因为如果您在
>
操作符中使用
cin
,它将在任何空白处停止,包括回车。

打开十六进制编辑器并实际获取这些字符的字节值。发布角色的图片不够好。它是0d,Unicode代码是U+00A4。请参阅updateIt看起来像是Xcode向您显示空白字符。在这里复制粘贴时,这些字符应该是空白,而不是苹果用来显示它们的实际Unicode…这是实际文件的hextump吗?或者是你发布的你实际使用Unicode的文本?我已经删除了整个文件,你可以自己检查一下。下载断开文件的链接。打开一个十六进制编辑器,实际获取这些字符的字节值。发布角色的图片不够好。它是0d,Unicode代码是U+00A4。请参阅updateIt看起来像是Xcode向您显示空白字符。在这里复制粘贴时,这些字符应该是空白,而不是苹果用来显示它们的实际Unicode…这是实际文件的hextump吗?或者是你发布的你实际使用Unicode的文本?我已经删除了整个文件,你可以自己检查一下。下载断开文件的链接。这个文件很可能是在windows上创建的,而不是上传到黑板上,因为它是一个学校项目,而不是由我下载的。这是一个涉及指针、双链接列表的项目。我的输出是
cout@Greg432-see。默认情况下,Windows在每一行都使用这些讨厌的东西,这可以解释他们是如何做到这一点的。你如何从这条线中提取这些值?您是否将stringstream与
>
运算符一起使用?@Greg432请小心发布您的完整代码(尤其是如果是学校作业)。你能给出你从文件中读取的部分和你输出的部分吗?@Greg432我正在查看你的代码,我完全不知道如何在单独的行上打印。
getline
应该使用换行符,留下一个尾随回车符,将光标重置到行首。我制作了一个模拟文件进行测试,我看到了我期望的结果——只有最后一行被输出(因为每一行每次都写在同一行上)。你确定你没有在那里放新行吗?这个文件很可能是在windows上创建的,而不是上传到黑板上的,因为这是一个学校项目,而不是我下载的。这是一个涉及指针、双链接列表的项目。我的输出是
cout@Greg432-see。默认情况下,Windows在每一行都使用这些讨厌的东西,这可以解释他们是如何做到这一点的。你如何从这条线中提取这些值?您是否将stringstream与
>
运算符一起使用?@Greg432请小心发布您的完整代码(尤其是如果是学校作业)。你能给出你从文件中读取的部分和你输出的部分吗?@Greg432我正在看你的代码,我不知道怎么做