gpt4 book ai didi

c - 替换 char * 中的特定字符

转载 作者:太空宇宙 更新时间:2023-11-04 06:36:14 24 4
gpt4 key购买 nike

我想用换行符替换某个字符。这是我的代码:

char *string = ReadResource(); //returns pointer to array using memcpy()
char *FinalString = string;
for(int x=0; x< int(SizeOfRes); x++)
{
if (string[x] == char(84))
FinalString[x] = HERE DO I WANT A NEWLINE;

else
FinalString[x] = string[x];
}

我知道 char * 是只读的,因为这是一个指向存储在内存中的数组的指针,所以使用 FinalString[x] = '\n';不起作用。

但我也不能 strcpy() 数组,因为它包含 NULL 字节。

有没有简单的方法可以做到这一点?

最佳答案

如果您的数组包含NULL 个字符,请使用memcpy()

一个有效的基本程序:

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

int main(int argc, char *argv[])
{
char *cbuffer = "hello \x00world";
char buffer[12];
memcpy((void *)buffer, (void *)cbuffer, 12);
buffer[2] = 'h';
ofstream ofs ("nullfile.bin", ios::binary);
ofs.write(buffer,12);
return 0;
}

关于c - 替换 char * 中的特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14757240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com