gpt4 book ai didi

c++ - Mac OS X - 获取文件中的行尾

转载 作者:行者123 更新时间:2023-11-28 07:36:44 24 4
gpt4 key购买 nike

我尝试在 Mac OS X 上打开并读取文件:

FILE * pFile = fopen (path_.c_str() , "r");
if (pFile == NULL)
{
perror ("Error opening file");
}
else
{
char line [buffer_size]={0};
size_t length=0;
std::vector<unsigned> nodes;
while ((line[length++] = fgetc (pFile)) != EOF )
{
printf("%d",line[length-1]);
if (line[length-1] == '\r'||line[length-1] == '\n'
#ifdef __APPLE__
||line[length-1] == '$'
#endif
)
{
line[length-1]=0;
unsigned number = 0;
for(unsigned i=0;i<length;++i)
{
if(isdigit(line[i]))
{
number = number *10+line[i]-'0';
}
else
{
nodes.push_back(number);
number = 0;
}
}
memset(&line,0,buffer_size);
length=0;
}
}
fclose (pFile);

我使用 #ifdef __APPLE__ 定义,此代码在 Linux 上完美运行,但在 Mac OS X 上,我现在必须读取一些定义我的文件/行的行尾的符号。如果没有这个技巧,我如何获得哪个符号完成的文件?

最佳答案

全部用 C++ 完成:

unsigned number;
std::vector<unsigned> nodes;
std::ifstream file(path_.c_str());
while (file >> number)
nodes.push_back(number);

关于c++ - Mac OS X - 获取文件中的行尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16644364/

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