无法使用c ++中的追加模式在文件中插入数据

时间:2015-05-30 05:30:50

标签: c++ file

我的代码是:

 public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {

    SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
    Cursor cursor;

    switch (uriMatcher.match(uri)) {
        case NOTES_LIST://display the whole list, for main activity
            qb.setTables(NotesModel.NotesTable.TABLE_NAME);//set table to be queried
           break;

        case NOTES_ITEM:
            qb.setTables(NotesModel.NotesTable.TABLE_NAME);
            qb.appendWhere(NotesModel.NotesTable._ID + " = "+ uri.getLastPathSegment());
            break;

        default:
            throw new IllegalArgumentException("Invalid URI: " + uri);
    }

    cursor = qb.query(db,projection,selection,selectionArgs,null,null,sortOrder);
    cursor.setNotificationUri(getContext().getContentResolver(), uri);//observer for loader
    return cursor;
}

以上代码正在创建一个空文件。

任何人都可以指出我出错的地方。

1 个答案:

答案 0 :(得分:0)

当您打开文件时,除了指定追加(ios::app)之外,还必须指定要输出到文件(ios::out)。您可以将它们与按位或(|)组合,因为它们代表单个位标志。

#include<iostream>
#include<fstream>
using namespace std;

int main()
{
    fstream file;
    file.open("abc.txt",ios::app | ios::out);
    file << "hello";
    file.close();
    return 0;
}