从命令行打开的.txt文件中读取整数

时间:2014-02-17 23:45:17

标签: c input

我需要读取从命令行打开的.txt文件中的整数,如下所示:

myprogram < input.txt

我不能使用scanf,因为它不会读取任何内容,也不能使用fscanf,因为我没有打开程序中的文件。获取文件中字符串行的作用,但没有像“getint”那样读取整数行。

这就是我的文件:

5     //number of following words
word1
word2
word3
word4
word5

2 个答案:

答案 0 :(得分:1)

<重定向表示法意味着input.txt的内容将重定向到程序的标准输入。这意味着您应该能够使用scanf()来读取文件内容(或从标准输入读取的任何其他函数)。

答案 1 :(得分:0)

#include <stdio.h>

int main(){
    int n;
    scanf("%d", &n);
    scanf("%*[^\n]");//skip comment
    char word[n][16];
    int i;
    for(i = 0;i < n; ++i){
        scanf("%15s", word[i]);
    }
    for(i = 0;i < n; ++i){
        printf("%s\n", word[i]);
    }
    return 0;
}