爲什麼我的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