我有一个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/

10-09 04:09