在下面的代码中,我正在读取.txt文件,并希望将其内容写入变量userId。但是当我做#include <stdio.h>
#include <string.h>
#define moveup(x) printf("\033[%zuA", (x))
#define movedn(x) printf("\033[%zuB", (x))
#define movefw(x) printf("\033[%zuC", (x))
#define movebw(x) printf("\033[%zuD", (x))
int main(void)
{
char str[128];
scanf("%s", str);
moveup(1UL);
movefw(strlen(str));
fflush(stdout);
return 0;
}
我得到0时,为什么会这样?文件本身位于SVN分支中,我正在使用jenkins管道。
echo "${userId}"
编辑:txt文件包含一行用户ID(例如cronaldo)
答案 0 :(得分:0)
我不知道批处理脚本,但我敢打赌,这是文本文件中user_id之后的换行符。
如果你在命令行上执行批量循环,你会看到一行上的用户ID,然后我认为是空行...
您应该尝试抑制输出中的空行...
答案 1 :(得分:0)
我认为susi是对的,你可能会得到另一条线而不是你想要的线...... 您可以尝试this solution并在循环的第一个回显之后添加一个退出,因此您确定只输出第一个值。
批处理示例:
@echo off
for /f %%a in (user_id.txt) do (
echo %%a
exit /b
)
将其转换为内联版本并将其放入Jenkins管道中,你应该很高兴。