printf() 関数に渡す文字列に % を含む文字列を渡すとランタイムエラーがでます
一文字ずつ printf( "%d" ); で表示するとうまく表示できるのです
サンプルプログラムでは指定した文字列をいったん、全部 char化し、vector<char>に格納して
一個ずつ表示する方法と
printfで一気に表示する方法を試しました
やはりこれも文字コードと関連のあるバグなのでしょうか?
#include <stdio.h>
#include <vector>
using namespace std;
int main()
{
char buf[256] = "---dns.org/%7eupus---";
//---dns.org/~upuser---
vector<char> v;
int i;
for( i=0; i<strlen(buf); i++ )
v.push_back( buf );
// これはうまく表示される
for( i=0; i<v.size(); i++ )
printf( "%c", v.at(i) );
// ここでランタイムエラー
printf( buf );
return 0;
}