为什么我的C++程序会在图片中创建如下所示的奇怪字符?黑色背景左侧的图片来自终端。右侧带有白色背景的图片来自输出文件。之前,这是一个“\ v”现在它变成某种占星符号或符号来表示男性。 0_o这对我来说没有意义。我错过了什么?我怎样才能让我的程序输出只是一个反斜杠v?为什么我会得到这个奇怪的角色?
请参阅下面我的代码:
// SplitActivitiesFoo.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
int main()
{
string s = "foo:[email protected]\venus \"some more text here to read.\"";
vector<string> first_part;
fstream outfile;
outfile.open("out.foobar");
for (int i = 0; i < s.size(); ++i){
cout << "s[" << i << "]: " << s[i] << endl;
outfile << s[i] << endl;
}
return 0;
}
另外,假设我不想修改我的字符串 'S' 在这种情况下。我希望能够解析字符串的每个字符并以某种方式解决奇怪的字符。这是因为在实际的程序中,字符串将从文件读入并解析,然后发送到另一个函数。我想我可以想出一种方法来以编程方式添加反斜杠...
'\ v'是一个垂直制表,反斜线反斜线 –
它创建的图像中所示的奇怪的字符。我认为这是转义字符的一些问题,但我不知道如何解决这个问题,并简单地获取字符之前解析字符之前的文本。 – user3870315
不妨做一个正式的答案,@JosephYoung。我不认为OP完全了解发生了什么事情,我想不出有什么理由来解决这个问题。 – user4581301