'bzero'未在此范围内声明

时间:2015-06-24 11:42:20

标签: c++ compiler-errors

我已经包含<“stdio.h”>

使用此功能

ArrayList<String> listPath;
GridViewAdapter adp;// = new GridViewAdapter(null, 0, listPath);
GridView gridView;
//Bitmap listBitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.flower_mahendi);
    AssetManager assetManager = getResources().getAssets();
    gridView  = (GridView) findViewById(R.id.gridView1);
    try {

        String[] files = assetManager.list("kids");
        listPath = new ArrayList<String>();
        for (String strImageName : files) {
            String pathAssets = "kids" + File.separator
                    + strImageName;
            listPath.add(pathAssets);

        }
    } catch (Exception e) {
        // TODO: handle exception
    }

    try {
        if (listPath!= null) {
        adp = new GridViewAdapter(this,R.layout.grid_double, listPath);
        gridView.setAdapter(adp);
       }
    } catch (Exception e) {
                e.printStackTrace();
    }
}

但是编译器说

  

错误:未在此范围内声明'bzero'

`

4 个答案:

答案 0 :(得分:4)

bzero()不属于标准库,属于POSIX。

现在实际上已弃用(请注意手册中的 LEGACY ),因此请考虑改用memset()

答案 1 :(得分:1)

尝试添加<unistd.h> 对我来说,它适用于bzero并同时读取。

答案 2 :(得分:0)

我试图运行一些旧代码,但出现了错误。我刚刚在导入后插入了此代码:

#define bzero(b,len) (memset((b), '\0', (len)), (void) 0)

答案 3 :(得分:0)

你应该包含