c - 如何将带空格的字符串存储到一个变量中?

标签 c string barcode scanf

我是 C 的新手,现在我正在使用 FILE 假设我有一个名为 data.txt 的文件,其中包含这些内容

4536279|Chocolate Bar|23|1.99
3478263|Chips|64|3.44
4245553|4% Milk|12|3.99

1st field is BAR CODE
2nd field is PRODUCT NAME
3rd field is QUANTITIES
4th field is PRICE

它们之间用竖线(|)分隔

然后用户输入条形码(例如 3478263)

  1. 我必须将它存储到一个变量中
  2. 然后将产品名称存储在 STRING 变量中
  3. 将 QUANTITIES 存储在一个 int 变量中
  4. 将 PRICE 存储在双变量中

我知道如何做第一行,但我不知道如何扫描文件中的条形码..

int bar=0;
int upc=0;
inv=fopen("data.txt", "r");

printf("Enter barcode: ");
scanf("%d", bar);
do {
    fscanf(inv, "%d", &upc);
    printf(" UPC: %d", upc);

} while (bar != upc);

最佳答案

检查 this字符串解析的答案。你应该能够实现你的目的。您可以将字符串存储在 char* 变量中。基本上它是一个字符数组。空格也是一个字符,您可以像字符串中的任何其他字符一样简单地存储它。希望对您有所帮助。

关于c - 如何将带空格的字符串存储到一个变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17931772/

相关文章:

c - 过滤一个缓冲区并将其复制到另一个 C

c - qsort 的结构数组不工作

C# 从字符串末尾删除子字符串

java - 从文本文件中获取格式化数字的简单方法?

ios - 无法识别条形码中的字符串编码

javascript - 在浏览器中从外部阅读器设备读取条码

c - 如何将两个 64 位整数连接成一个 128 位整数?

CryptoAPI RSA Schannel 提供程序错误

c - 如何在 C 程序中将俄语字符串作为命令行参数处理

android - 如何在 flutter 中生成条形码?