小编TZP*_*e05的帖子

多个字符串,截断行为80个字符

我是awk和sed的新手,我正在寻找一种截断80行字符的方法,但是我使用printf在该行中打印了几个字符串.最后两个字符串是那些给我带来问题的字符串,因为它们在我的代码的每次迭代中都有不同的大小.这是我目前的代码:

printf "%5d  %3s%.2s %4s %s %s \n" "$f" "$month" "$day" "$year" "$from" "$subject"
Run Code Online (Sandbox Code Playgroud)

此代码用于创建通过Bash脚本传递的电子邮件的摘要.我所知道的是,对于我的其他字符串的空格和要求,我在$ from和$ subject字符串之间有60个字符的空间.

任何帮助表示赞赏.

string bash awk

42
推荐指数
2
解决办法
3万
查看次数

静态内联空隙和空白之间有什么区别?

我正在使用C语言并修改以前由其他人编写的代码.我正在努力解决一些问题,而且我正在努力尽可能多地了解正在发生的事情.所以,正如我的问题所说,创建函数static inline voidvoid创建函数之间有什么区别?我为这篇长篇文章提前道歉,但我想让你知道我做了一些研究,但不明白我发现了什么.

我找到了一个static令我困惑的解释:

静态说明符表示无法从其他文件引用该函数; 也就是说,链接器不会导出名称.

通过阅读本文,我假设引用一个函数与调用函数不同?我假设因为这个函数是从另一个.c文件调用的.如果是这种情况,那么什么是引用函数?

通过同一个网站,他们解释内联功能,我不明白它的含义.

__inline关键字告诉编译器将函数定义中的代码替换为函数调用的每个实例.但是,替换仅在编译器自行决定时发生.例如,如果函数的地址被采用或者它太大而不能内联,则编译器不会内联函数.

咦???

非常感谢任何帮助,我再次为这篇非常长的帖子道歉.

以下位于file1.c(使用通用名称,因为我觉得不重要)

COMPLEX cNoiseSample;
CGauss( &cNoiseSample, loopbackRadio->pState );
Run Code Online (Sandbox Code Playgroud)

以下文件位于file2.c中

static inline void CGauss( COMPLEX * pcGauss, P_OS_UNIFORM_RAND_STATE pState )
{
    //code
}
Run Code Online (Sandbox Code Playgroud)

c static inline void

16
推荐指数
2
解决办法
3万
查看次数

找到分段错误的最简单方法

我今天遇到了第一个分段错误(新手程序员).在阅读了什么是分段错误之后(感谢本网站上的所有有用信息,以及维基百科的冗长解释),我正在尝试确定最简单的方法来找到我的错误发生的地方.它是用C语言编写的,并且在基于*NIX的系统上出现错误(我不确定哪一个是诚实的...... 99%确定它是Linux).我无法准确发布我的代码,因为我有很多我正在编译的文件都很冗长.我只是希望你们观察到一些最佳实践.谢谢你的帮助.

Ps我认为错误来自解除引用NULL指针或使用未初始化的指针.但是,我肯定是错的.

c linux segmentation-fault

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

带括号的C指针

我在我正在分析的一些代码中发现了这行代码:

Mintau = (double*) malloc(FadeAll.num_paths*sizeof(double));
Run Code Online (Sandbox Code Playgroud)

我还在这里找到了一个问题(这是它出现的其他问题的重复),它解释了指针的不同语法,包括:

int *ptr;  
int * ptr;  
int* ptr; 
Run Code Online (Sandbox Code Playgroud)

我应该解释一下,我完全理解上述所有三个都在说同样的话.最后一个是最接近我的代码行的那个.我想知道为什么在这种情况下双重必须在括号中?如果这是一个重复的问题,我很抱歉,但我找不到任何关于此的问题.

c pointers

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

如何在C语言中写入excel中的第二列

所以现在我想出了如何写一个excel文件(非常感谢你们!),我想知道是否有办法写入excel中的第二列.我实际上是向这个excel文件发送了两个不同的变量,我希望它们并排放在一起,而不是彼此相邻.我没有看到任何其他问题要求C语言,所以我想把它扔出去.如果有的话,请随时链接我的问题,我为浪费空间而道歉!

File * fp;
fp = fopen("C:\\Documents and Settings\\MyName\\Desktop\\Filename.csv", "w");
if(fp == NULL){
    printf("Couldn't open file\n");
    return;
}
for (j = 0; j<Variable0; j++){
fprintf(fp, "%f\n", (j+Variable1);
fprintf(fp, "%f\n", (j+Variable2);
}
Run Code Online (Sandbox Code Playgroud)

c excel

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

标签 统计

c ×4

awk ×1

bash ×1

excel ×1

inline ×1

linux ×1

pointers ×1

segmentation-fault ×1

static ×1

string ×1

void ×1