我有一个C脚本,可将数据从条形码扫描仪发送到服务器。
我想做的是,从文件(仅包含这10位数字)中读取一个数字字符串,例如“ 1234567890”,并将其用作url curl发送至的一部分。我希望找到类似的东西
但这似乎并不容易
我的脚本现在看起来像这样
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc,char *argv[])
{
while (1)
{
char buf[256],syscmd[512];
int i;
/* Get next barcode */
printf("Waiting for bar code [q=quit]: ");
if (fgets(buf,255,stdin)==NULL)
break;
/* Clean CR/LF off of string */
for (i=0;buf[i]!='\0' && buf[i]!='\r' && buf[i]!='\n';i++);
buf[i]='\0';
/* q = quit */
if (!strcmp(buf,"q"))
break;
/* Build into curl command */
sprintf(syscmd,"curl \"http://www.xyz.com/test/order/complete?barcode=%s\"",buf);
/* Execute--this will wait for command to complete before continuing. */
system(syscmd);
}
return(0);
}
我想要的是我的网址看起来像“ http://www.xyz.com/1234567890/test/order/complete?barcode=%s”,其中从文件中读取数字1234567890
最佳答案
我认为以下是与您类似的程序:
#include <stdio.h>
#include <stdlib.h>
int main() {
char buf[100], syscmd[512];
while(fgets(buf,255,stdin) != NULL) {
printf("%s\n", buf);
}
register int i = 0;
while(buf[i] != '\0') {
++i;
}
buf[i-1] = '\0';
if (buf) {
sprintf(syscmd,"curl \"http://www.xyz.com/test/order/complete?barcode=%s\"",buf);
system(syscmd);
} else {
printf("Need input");
}
}
执行方式:
./hit_url
我在barcode.txt中保留了1234567890。
关于c - 从C脚本中的文件中读取单个字符串,并将其作为url的一部分发送,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22665971/