看到一个网站,http://fun.coolshell.cn/first.html, 需要解释brainfuck,我就写了个程序,把 brainfuck转换成c++
// brainfuck.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <string>
#include "string.h"
#include <fstream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char code[1000];
memset(code, '\0', 1000);
cin.getline(code, 1000);
string source = "";
source.append("char array[]=new array[1000];\n");
source.append("memset(array, \'\\0\', 1000);\n");
for(char *p = code; *p!='\0'; p++)
{
switch(*p)
{
case '>':
source.append("array++;\n");
break;
case '<':
source.append("array--;\n");
break;
case '+':
source.append("++*array;\n");
break;
case '-':
source.append("--*array;\n");
break;
case '.':
source.append("cout << *array;\n");
break;
case ',':
source.append("*array=getchar();\n");
break;
case '[':
source.append("while(*array){");
break;
case ']':
source.append("}\n");
break;
}
}
fstream fs("code.txt", 'w');
fs << source;
return 0;
}