我在C ++中有这行代码
while (fread(pixel_array++, sizeof(byte), 3, fp));
但是当我使用clang-format时,它会拆分分号并将其添加到新行中
while (fread(pixel_array++, sizeof(byte), 3, fp))
;
我不喜欢这种风格,我只想保留原来的风格。
我应该如何修改我的clang格式配置?感谢。
答案 0 :(得分:2)
clang-format 5.0目前还没有识别出这种类型的循环。不幸的是,从clang格式版本5开始,您无法获得满足您需求的设置。
查找Clang Format Style Options,我发现的最接近的是AllowShortLoopsOnASingleLine: true
,但该设置并未将循环条件识别为循环体。
只要clang-format没有识别出这种类型的循环,我要做的就是用// clang-format off
然后// clang-format on
围绕你的代码标记你的代码。代码。
答案 1 :(得分:0)
显然这是不可能的,但是一种解决方法是用空块替换分号。如果同时设置了AllowShortBlocksOnASingleLine
和while (fread(pixel_array++, sizeof(byte), 3, fp)) {}
,则其格式将为
this.dataSource = new MatTableDataSource(results);
this.dataSource.sort = this.sort;
this.dataSource.filterPredicate = function(data: any, filterValue: string) {
return data.specificColumn /** replace this with the column name you want to filter */
.trim()
.toLocaleLowerCase().indexOf(filterValue.trim().toLocaleLowerCase()) >= 0;
};
答案 2 :(得分:-1)
fread不返回bool并且空循环没有意义。因此,将代码重写为
会更好for(;;)
{
auto const read_bytes_count{fread(pixel_array, sizeof(byte), 3, fp)};
if((sizeof(byte) * 3) != read_bytes_count)
{
// probably deal with error handling...
break;
}
++pixel_array;
}