c++读取写入数字的问题

比如我有一串数字(每个数字不超过255)

vector<int> number={ 9,2,55,66,77,100,200 }

要把它写到D:\1中
要怎么做呢?
如果要从D:\1中重新得到这串数字,要怎么做呢?
我试过用这个作为测试:

    fstream f1;
    f1.open("D:/1");
    for (int i = 0; i < 255; i++)
    {
       f1 << (char)(i);
    }
    f1.close();

可是,当i=10的时候,得到的是char 13,10
只有i=10的时候有这个问题,i=11,12,13……254都没发现这个问题。
另外即使没有这个问题,我也不清楚怎么从char转成int数值,试过用这个

    fstream f2;
    f2.open("D:/1");
    char b[255] ;
    for (int i = 0; i < 255;i++)
    {
        f2 >> b[i];
    }
    for (int i= 0; i< 255; i++)
    {
        cout << (int)b[i] << endl;
    }

输出的结果很奇怪。
万能的网友们!!help!help!