小编Fro*_*and的帖子

在使用std :: fstream读取文本文件时,如何使用非默认分隔符?

在我的C++代码中,我想从文本文件(*.txt)中读取并标记每个条目.更具体地说,我希望能够从文件中读取单个单词,例如"格式","堆栈","杰森","欧洲" .

我选择用来fstream执行这个任务,我不知道如何设置它的分隔符给我想要使用的(空格,\n以及连字符,甚至是"麦当劳"中的撇号).我想空间并且\n是默认分隔符,但连字符不是,但我想把它们当作分隔符,这样在解析文件时,我会把"blah blah xxx animal - cat"中的单词简单地称为"blah"," blah","xxx","animal","cat".

也就是说,我希望能够从"堆栈溢出","你是" 获得两个字符串,并且仍然能够同时维护\n和空格作为分隔符.

c++ fstream ifstream

17
推荐指数
1
解决办法
2万
查看次数

访问冲突写入位置0x00000000.memset函数问题

#include <iostream>
#include <string.h>
using namespace std;

void newBuffer(char* outBuffer, size_t sz) {
    outBuffer = new char[sz];
}

int main(void) {

    const char* abcd = "ABCD";
    char* foo;
    foo = NULL;
    size_t len = strlen(abcd);
    cout<<"Checkpoint 1"<<endl;
    newBuffer(foo, len);
    cout<<"Checkpoint 2"<<endl;

    cout<<"Checkpoint 2-A"<<endl;
    memset(foo, '-', len);
    cout<<"Checkpoint 3"<<endl;
    strncpy(foo, abcd, len);
    cout<<"Checkpoint 4"<<endl;
    cout << foo << endl;

    int hold;
    cin>>hold;
    return 0;
Run Code Online (Sandbox Code Playgroud)

}

此程序在检查点2-1和3之间崩溃.它尝试做的是将char数组foo设置为char' - ',但由于某些访问问题而失败.我不明白为什么会这样.非常感谢你提前!

c++ string

1
推荐指数
1
解决办法
1614
查看次数

标签 统计

c++ ×2

fstream ×1

ifstream ×1

string ×1